盲写一个
Sub test()
Dim i&, j&, x&, k, arr, arr1(), d As Object
Set d = CreateObject("Scripting.Dictionary")
arr = Range([A2], [D65536].End(3))
For i = 1 To UBound(arr, 1)
If Not d.Exists(arr(i, 1)) Then
d(arr(i, 1) & "|" & arr(i, 2)) = d.Count + 1
k = d.keys
ReDim Preserve arr1(1 To 4, 1 To d.Count)
For x = 0 To d.Count - 1
For j = 0 To 1
arr1(j + 1, d.Count) = Split(k(x), "|")(j)
Next j
Next x
End If
Next i
For x = 1 To UBound(arr1, 2)
For i = 1 To UBound(arr)
If arr(i, 1) = arr1(1, x) And arr(i, 2) = arr1(2, x) Then
arr1(3, x) = arr1(3, x) + arr(i, 4)
arr1(4, x) = arr(i, 3)
End If
Next i
Next x
Range("H2:K65536").ClearContents
[H2].Resize(d.Count, 4) = Application.Transpose(arr1)
End Sub
|