- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
回復 1# aer
請測試看看,謝謝
Sub test()
Dim Arr, T$, T1, n&, i&
Set xD = CreateObject("Scripting.Dictionary")
Arr = [A1].CurrentRegion
For i = 2 To UBound(Arr)
If Arr(i, 2) = "" Then GoTo 99
T = Left(Arr(i, 1), 15)
If xD.Exists(T) Then
Arr(xD(T), 2) = Arr(xD(T), 2) + Arr(i, 2)
Else
n = n + 1: xD(T) = n
Arr(n, 1) = T: Arr(n, 2) = Arr(i, 2)
End If
T1 = T1 + Arr(i, 2)
99: Next
[e1].CurrentRegion.Offset(1) = ""
[e2].Resize(n, 2) = Arr
Range("e" & n + 2) = "合計"
Range("f" & n + 2) = T1
End Sub |
|