返回列表 上一主題 發帖

[發問] 詢問兩筆以上資料如何取交集合併新增(以解決)

回復 3# ivan731129
  1. Sub Ex()
  2. Dim Sh As Worksheet, A As Range, k%, r&, Mystr$
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. For Each Sh In Sheets
  6.   With Sh
  7.      If .Name <> "集合檔" Then
  8.      k = k + 1
  9.         For Each A In .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp))
  10.             Mystr = Join(Application.Transpose(Application.Transpose(A.Resize(, 11))), ",")
  11.             If IsEmpty(d(A.Value)) Then '沒有的項目就加入
  12.                d(A.Value) = d(A.Value) + 1 '計算次數
  13.                d1(A.Value) = Mystr '紀錄內容
  14.                ElseIf d1(A.Value) = Mystr Then '相同時計算次數
  15.                d(A.Value) = d(A.Value) + 1 '計算次數
  16.                ElseIf d1(A.Value) <> Mystr Or d(A.Value) <> k Then '有不同或是與工作表數量不同
  17.                d1.Remove A.Value '移除項目
  18.             End If
  19.         Next
  20.     End If
  21. End With
  22. Next
  23. With Sheets("集合檔")
  24. .Cells = ""
  25. For Each ky In d1.keys
  26.    r = r + 1
  27.    .Cells(r, 1).Resize(, 11) = Split(d1(ky), ",") '寫入集合檔
  28. Next
  29. End With
  30. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題