- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2025-1-10
|
10#
發表於 2021-5-20 14:42
| 只看該作者
回復 9# john2006168
解釋寫得不好時,請見諒,感謝。
Sub test()
Dim Arr, xD, T, T2, T3, T4, i&, M%, N%
Set xD = CreateObject("Scripting.Dictionary")
Arr = Sheets("工作表1").[A1].CurrentRegion '資料裝入數組
For i = 1 To UBound(Arr)
T = Arr(i, 2) & "|" & Arr(i, 4) '關鍵條件串連一起當作key
T2 = Arr(i, 2): T3 = Arr(i, 3): T4 = Arr(i, 4)
If xD.Exists(T & "") Then 'key有無在字典
M = xD(T & "") '找到同key的位置
Arr(M, 2) = Arr(M, 2) + T3 '累加
Else
N = N + 1: xD(T & "") = N 'key裝入字典且編流水號
Arr(N, 1) = T2: Arr(N, 2) = T3: Arr(N, 3) = T4 '將符合條件的資料裝到結果的數組
End If
Next
Sheets("Summary").[A1].Resize(N, 3) = Arr '結果顯示
End Sub |
|