- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-10-10 19:22 ½s¿è
¦^´_ 5# fangsc
¸Õ¸Õ¬Ý- Sub load_data()
- Dim row_index As Integer,row_search As Integer, D As Object, K As Variant, T As Date
- T = Time
- Set d = CreateObject("SCRIPTING.DICTIONARY") '¦r¨åª«¥ó
- With Sheets("data")
- row_index = 2
- '±qdataªº²Ä¤G¦C¶}©l´M§ä,¤@ª½§ä¦ÜTotal¬°¤î
- While Left(.Cells(row_index, 9).Value, 5) <> "Total"
- 'Prod = Sheets("data").Cells(row_index, 3).Value
- If .Cells(row_index, 3) = "Electro-Dip" Or .Cells(row_index, 3) = "Electro" Then
- '±N¥|ÓÄæ¦ì³sµ²°_¨Ó
- data_four_column = .Cells(row_index, 2) & ",," & .Cells(row_index, 3) & ",," & .Cells(row_index, 4) & ",," & .Cells(row_index, 9)
- If d.EXISTS(data_four_column) Then '¦r¨åª«¥ó ÃöÁä¦r (key) ¦s¦b
- d(data_four_column) = d(data_four_column) + .Cells(row_index, 10).Value
- Else
- d(data_four_column) = .Cells(row_index, 10).Value
- ''¦r¨åª«¥ó ÃöÁä¦r(key)¥[¤J ¨Ã«ü©w ¶µ¥Ø (item)
- End If
- End If
- row_index = row_index + 1
- Wend
- End With
- With Sheets("Summary")
- row_search = 3
- If .Cells(3, 1).Value = "" Then '¦pªGSummaryªºa3Àx¦s®æ¬OªÅ¥Õ
- For Each K In d.KEYS '¨ú¥X¦r¨åª«¥ó ÃöÁä¦r
- .Cells(row_search, 1).Resize(, 4) = Split(K, ",,")
- .Range(put_column & row_search) = d(K) '¨ú¥X¦r¨åª«¥óªºitem(¶µ¥Ø)
- row_search = row_search + 1
- Next
- Else
- While .Cells(row_search, 1) <> ""
- K = Join(Application.Transpose(Application.Transpose(.Cells(row_search, 1).Resize(, 4).Value)), ",,")
- If d.EXISTS(K) Then '¦r¨åª«¥ó ÃöÁä¦r (key) ¦s¦b
- .Range(put_column & row_search) = .Range(put_column & row_search) + d(K)
- d.Remove K '¦r¨åª«¥ó ²¾°£ ÃöÁä¦r (key)
- End If
- row_search = row_search + 1
- Wend
- If d.Count > 1 Then '¨S¤ñ¹ï¨ìªº¸ê®Æ
- For Each K In d.KEYS
- .Cells(row_search, 1).Resize(, 4) = Split(K, ",,")
- .Range(put_column & row_search) = d(K)
- row_search = row_search + 1
- Next
- End If
- End If
- End With
- MsgBox (Format(Time - T, "nn¤ÀSS¬í") & " ¤w§¹¦¨!")
- End Sub
½Æ»s¥N½X |
|