|
Sub 汇总()
Dim Arr, i%, j%, d, k%, Brr(), k1
Set d = CreateObject("scripting.dictionary")
With Sheets("v1.0")
Arr = .[a1].CurrentRegion
For i = 2 To UBound(Arr)
d(Arr(i, 1) & "@" & Arr(i, 2) & "@" & Arr(i, 3)) = d(Arr(i, 1) & "@" & Arr(i, 2) & "@" & Arr(i, 3)) + Arr(i, 4)
Next
End With
k1 = d.keys
ReDim Brr(0 To d.Count, 1 To 3)
For i = 0 To d.Count - 1
Brr(i, 1) = Split(k1(i), "@")(0)
Brr(i, 2) = Split(k1(i), "@")(1)
Brr(i, 3) = Split(k1(i), "@")(2)
Next
With Sheets("汇总")
.UsedRange.Offset(1).ClearContents
.[a2].Resize(d.Count, 3) = Brr
.[d2].Resize(d.Count, 1) = Application.Transpose(d.items)
End With
End Sub |
|