- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
回復 1# peter460191
請測試看看,謝謝。
Sub test()
Dim Arr, xD, xD1, T, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
Arr = Range("A1:B" & [A65536].End(3).Row)
For i = 2 To UBound(Arr)
T = Arr(i, 2): TT = Arr(i, 1) & T: xD(T & "") = ""
If Not xD1.Exists(TT) Then
xD1(TT & "") = xD1(TT & "") + 1
xD1(T & "") = xD1(T & "") + xD1(TT & "")
End If
Next
Range("E2").Resize(xD.Count) = Application.Transpose(xD.keys)
With Range("D2").Resize(xD.Count, 3)
.Sort key1:=.Item(2), Header:=xlNo
Arr = .Value
For i = 1 To UBound(Arr)
T = Arr(i, 2): Arr(i, 1) = i: Arr(i, 3) = xD1(T & "")
Next
.Value = Arr
End With
End Sub |
|