|
楼主 |
发表于 2017-6-14 21:23
|
显示全部楼层
'lisachen
Option Explicit
Sub test()
Dim arr(), brr(1 To 1000, 1 To 6)
Dim x, k, k1
Dim dx, dy
Set dx = CreateObject("scripting.dictionary")
Set dy = CreateObject("scripting.dictionary")
arr = Range("A1").CurrentRegion
For x = 2 To UBound(arr)
If Not dx.Exists(arr(x, 1)) Then
k = k + 1
dx(arr(x, 1)) = k
End If
If Not dy.Exists(arr(x, 2)) Then
k1 = k1 + 1
dy(arr(x, 2)) = k1
End If
brr(dx(arr(x, 1)), dy(arr(x, 2))) = brr(dx(arr(x, 1)), dy(arr(x, 2))) + arr(x, 3)
Next x
Range("g2").Resize(UBound(arr), 6) = brr
End Sub
|
|