ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

­×§ïµ{¦¡

¦^´_ 1# fangsc
­×¥¿µ{¦¡©ó¶}ºÝ´Nµ¹­È
  1. Sub load_data()
  2. row_index = 2       '±qdataªº²Ä¤G¦C¶}©l´M§ä,¤@ª½§ä¦ÜTotal¬°¤î
  3. row_search = 3      '±q²Ä¤T¦C¶}©l§ä°_   
  4. While Left(Sheets("data").Cells(row_index, 9).Value, 5) <> "Total"
  5. '
  6. '
½Æ»s¥N½X
  1. '§_«h
  2.         Else
  3.             '±q²Ä¤T¦C¶}©l§ä°_
  4.             row_search = 3                                 '***  ¨C¤@¦¸³£±q²Ä¤T¦C§ä°_  ¬O³o¸Ì®ö¶O®É¶¡ ****
  5.             got_it = False
  6.             '¤@ª½§ä¨ìªÅ¥Õ¬°¤î
  7.             While Sheets("Summary").Cells(row_search, 1).Value <> ""
  8.                 '±NSummaryªº¥|­ÓÄæ¦ì³sµ²°_¨Ó
½Æ»s¥N½X

TOP

¦^´_ 3# fangsc
ªþÀɤ¤¨S Sheets("data") ³o¤u§@ªí

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-10-10 19:22 ½s¿è

¦^´_ 5# fangsc
¸Õ¸Õ¬Ý
  1. Sub load_data()
  2.     Dim row_index As Integer,row_search As Integer, D As Object, K As Variant, T As Date
  3.     T = Time
  4.     Set d = CreateObject("SCRIPTING.DICTIONARY")         '¦r¨åª«¥ó
  5.     With Sheets("data")
  6.         row_index = 2
  7.         '±qdataªº²Ä¤G¦C¶}©l´M§ä,¤@ª½§ä¦ÜTotal¬°¤î
  8.         While Left(.Cells(row_index, 9).Value, 5) <> "Total"
  9.             'Prod = Sheets("data").Cells(row_index, 3).Value
  10.             If .Cells(row_index, 3) = "Electro-Dip" Or .Cells(row_index, 3) = "Electro" Then
  11.                 '±N¥|­ÓÄæ¦ì³sµ²°_¨Ó
  12.                 data_four_column = .Cells(row_index, 2) & ",," & .Cells(row_index, 3) & ",," & .Cells(row_index, 4) & ",," & .Cells(row_index, 9)
  13.                 If d.EXISTS(data_four_column) Then   '¦r¨åª«¥ó ÃöÁä¦r (key) ¦s¦b
  14.                     d(data_four_column) = d(data_four_column) + .Cells(row_index, 10).Value
  15.                 Else
  16.                     d(data_four_column) = .Cells(row_index, 10).Value
  17.                     ''¦r¨åª«¥ó ÃöÁä¦r(key)¥[¤J ¨Ã«ü©w ¶µ¥Ø (item)
  18.                 End If
  19.             End If
  20.             row_index = row_index + 1
  21.         Wend
  22.     End With
  23.      With Sheets("Summary")
  24.         row_search = 3
  25.         If .Cells(3, 1).Value = "" Then  '¦pªGSummaryªºa3Àx¦s®æ¬OªÅ¥Õ
  26.            For Each K In d.KEYS          '¨ú¥X¦r¨åª«¥ó ÃöÁä¦r
  27.             .Cells(row_search, 1).Resize(, 4) = Split(K, ",,")
  28.             .Range(put_column & row_search) = d(K)  '¨ú¥X¦r¨åª«¥óªºitem(¶µ¥Ø)
  29.             row_search = row_search + 1
  30.            Next
  31.         Else
  32.             While .Cells(row_search, 1) <> ""
  33.                 K = Join(Application.Transpose(Application.Transpose(.Cells(row_search, 1).Resize(, 4).Value)), ",,")
  34.                 If d.EXISTS(K) Then        '¦r¨åª«¥ó ÃöÁä¦r (key) ¦s¦b
  35.                     .Range(put_column & row_search) = .Range(put_column & row_search) + d(K)
  36.                     d.Remove K             '¦r¨åª«¥ó ²¾°£ ÃöÁä¦r (key)
  37.                 End If
  38.                 row_search = row_search + 1
  39.             Wend
  40.             If d.Count > 1 Then     '¨S¤ñ¹ï¨ìªº¸ê®Æ
  41.                For Each K In d.KEYS
  42.                     .Cells(row_search, 1).Resize(, 4) = Split(K, ",,")
  43.                     .Range(put_column & row_search) = d(K)
  44.                     row_search = row_search + 1
  45.                 Next
  46.             End If
  47.         End If
  48.     End With
  49.     MsgBox (Format(Time - T, "nn¤ÀSS¬í") & " ¤w§¹¦¨!")
  50. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤H¥Í³Ì¤jªº¦¨´N¬O±q¥¢±Ñ¤¤¯¸°_¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD