返回列表 上一主題 發帖

[發問] 請教各位前輩vba 關於取不重復值問題~

回復 1# ii31sakura
試試看!
test統計.rar (17.92 KB)

TOP

回復 1# ii31sakura
執行結果:

TOP

本帖最後由 c_c_lai 於 2014-5-31 10:52 編輯

回復 1# ii31sakura
沒留意你仍是小學生等級,是無法下載的。
所以將程式碼貼上:
  1. Sub Ex()
  2.     Dim 第一種組合 As Object, 第二種組合 As Object, rng As Range
  3.    
  4.     Set 第一種組合 = CreateObject("Scripting.Dictionary")
  5.     Set 第二種組合 = CreateObject("Scripting.Dictionary")
  6.    
  7.     With Sheets("DATA")
  8.         '  .[F:L].ClearContents                         '  保留複製標題
  9.         .[F12:L65535].ClearContents
  10.         For Each rng In .Range([A2], [A2].End(xlDown))   '  每日
  11.             If IsEmpty(第一種組合(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value)) Then               '  寫入字典
  12.                 第一種組合(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Value, rng.Offset(, 1).Value, rng.Offset(, 2).Value, Val(rng.Offset(, 3).Value))
  13.             Else
  14.                 第一種組合(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Value, rng.Offset(, 1).Value, rng.Offset(, 2).Value, 第一種組合(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value)(3) + Val(rng.Offset(, 3).Value))
  15.             End If
  16.             
  17.             If IsEmpty(第二種組合(rng.Offset(, 1).Value & rng.Offset(, 2).Value)) Then               '  寫入字典
  18.                 第二種組合(rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Offset(, 1).Value, rng.Offset(, 2).Value, Val(rng.Offset(, 3).Value))
  19.             Else
  20.                 第二種組合(rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Offset(, 1).Value, rng.Offset(, 2).Value, 第二種組合(rng.Offset(, 1).Value & rng.Offset(, 2).Value)(2) + Val(rng.Offset(, 3).Value))
  21.             End If
  22.         Next
  23.         
  24.         .[F12].Resize(第一種組合.Count, 4) = Application.Transpose(Application.Transpose(第一種組合.items))   '  寫入工作表
  25.         .[J12].Resize(第二種組合.Count, 3) = Application.Transpose(Application.Transpose(第二種組合.items))   '  寫入工作表
  26.     End With
  27.     '  釋出物件變數
  28.     Set 第一種組合 = Nothing
  29.     Set 第二種組合 = Nothing
  30. End Sub
複製代碼

TOP

        靜思自在 : 話多不如話少,話少不如話好。
返回列表 上一主題