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

[µo°Ý] ¤Gºû°}¦Cªº±Æ§Ç°ÝÃD¡H

¦^´_ 1# wsx24680


   ¤£ª¾¬O¤£¬O³o­Ó·N«ä
  1. Sub Ex_1() 'Sheet2¸òSheet3¬Û¥[
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. d("Item") = Array("ITEM", "NO.", "COUNT")
  5. For Each Sh In Sheets(Array("Sheet2", "Sheet3"))
  6. With Sh
  7. For Each A In .Range(.[A2], .[A65536].End(xlUp))
  8.   If IsEmpty(d(A & A.Offset(, 1))) Then
  9.      d(A & A.Offset(, 1)) = Array(A, A.Offset(, 1), A.Offset(, 2))
  10.      Else
  11.      ar = d(A & A.Offset(, 1))
  12.      ar(2) = ar(2) + A.Offset(, 2)
  13.      d(A & A.Offset(, 1)) = ar
  14.   End If
  15. Next
  16. End With
  17. Next
  18. With Sheet3.[F1].Resize(d.Count, 3)
  19. .Value = Application.Transpose(Application.Transpose(d.items))
  20. .Sort key1:=.Cells(1, 1), Header:=xlYes
  21. End With
  22. End Sub


  23. Sub Ex_2() 'Sheet1­p¼Æ
  24. Dim A As Range
  25. Set d = CreateObject("Scripting.Dictionary")
  26. With Sheet1
  27. d("Item") = Array("ITEM", "NO.", "COUNT")
  28. For Each A In .Range(.[A2], .[A65536].End(xlUp))
  29.   If IsEmpty(d(A & A.Offset(, 1))) Then
  30.      d(A & A.Offset(, 1)) = Array(A, A.Offset(, 1), 1)
  31.      Else
  32.      ar = d(A & A.Offset(, 1))
  33.      ar(2) = ar(2) + 1
  34.      d(A & A.Offset(, 1)) = ar
  35.   End If
  36. Next
  37. End With
  38. With Sheet1.[F1].Resize(d.Count, 3)
  39. .Value = Application.Transpose(Application.Transpose(d.items))
  40. .Sort key1:=.Cells(1, 1), key2:=.Cells(1, 2), Header:=xlYes
  41. End With
  42. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 3# wsx24680


    ¦pªGµ²ªG¬O§A­nªº
¸Õ¸Õ¼Ï¯Ã¤ÀªR¤Î¸ê®Æ·JÁ`¥\¯à
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 6# wsx24680
  1. Sub Ex_1() 'Sheet2¸òSheet3¬Û¥[
  2. Dim A As Range, Ay()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")

  5. For Each Sh In Sheets(Array("Sheet2", "Sheet3"))
  6. With Sh
  7. For Each A In .Range(.[A2], .[A65536].End(xlUp))
  8.   If IsEmpty(d(A & A.Offset(, 1))) Then
  9.      d(A & A.Offset(, 1)) = Array(A, A.Offset(, 1), A.Offset(, 2))
  10.      d1(A.Value) = ""
  11.      Else
  12.      ar = d(A & A.Offset(, 1))
  13.      ar(2) = ar(2) + A.Offset(, 2)
  14.      d(A & A.Offset(, 1)) = ar
  15.   End If
  16. Next
  17. End With
  18. Next
  19. With Sheet3
  20. .Columns("F:H") = ""
  21. Set A = .[F1]
  22. For Each ky In d1.keys
  23.    For Each key1 In d.keys
  24.       If d(key1)(0) = ky Then
  25.       ReDim Preserve Ay(s)
  26.       Ay(s) = d(key1)
  27.       s = s + 1
  28.       End If
  29.     Next
  30. With A.Resize(s, 3)
  31. .Value = Application.Transpose(Application.Transpose(Ay))
  32. .Sort key1:=.Cells(1, 2), header:=xlNo
  33. End With
  34. Erase Ay: s = 0: Set A = .[F65536].End(xlUp).Offset(1, 0)
  35. Next
  36. End With
  37. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 9# wsx24680


    ar(2) = A.Offset(, 2) + "+" + ar(2)
¦]¬°§A¥«­n¦r¦ê³sµ²
À³¬°ar(2) = A.Offset(, 2) & "+" & ar(2)
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : §Ñ¥\¤£§Ñ¹L¡A§Ñ«è¤£§Ñ®¦¡C
ªð¦^¦Cªí ¤W¤@¥DÃD