- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2025-1-10
|
16#
發表於 2021-6-18 10:54
| 只看該作者
回復 14# jsc0518
程式修改如下,要放在工作表或模組都可以,請再測試看看,謝謝。
Sub test5()
Dim Arr, xD, xD1, T1, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
With Sheets("繳庫量")
Arr = .Range(.[e1], .[y65536].End(3))
For i = 2 To UBound(Arr)
T1 = Arr(i, 1): TT = Arr(i, 1) & Arr(i, 2)
If Not xD.Exists(TT) Then
xD(TT & "") = xD(TT & "") + 1
xD(T1 & "") = xD(T1 & "") + xD(TT & "")
End If
xD1(T1 & "") = xD1(T1 & "") + Arr(i, 21)
Next
End With
With Sheets("Analysis")
Arr = .Range(.[b2], .[a65536].End(3))
For i = 1 To UBound(Arr)
T1 = Arr(i, 1)
Arr(i, 1) = xD(T1 & "")
Arr(i, 2) = xD1(T1 & "")
Next
.Range("b2").Resize(UBound(Arr), 2) = Arr
End With
End Sub |
|