|
附件都不上传一个。下面是论坛里老师的代码自己看着调
Sub 汇总()
Dim arr, brr, T, T1, T2, R, Col, S, m, n, i, d As Object
Set d = CreateObject("Scripting.Dictionary")
With Sheets("数据")
arr = .Range(.[d1], .[a65536].End(3))
ReDim brr(1 To 3 ^ 10, 1 To 100)
For i = 2 To UBound(arr)
T1 = arr(i, 1) '行
T2 = arr(i, 4) '列
T = T1 & "\" & T2
R = d(T1)
Col = d(T2)
If R = 0 Then
m = m + 1
R = m + 1
d(T1) = R
brr(R, 1) = T1
End If
If Col = 0 Then
n = n + 1
Col = n + 1
d(T2) = Col
brr(1, Col) = T2
End If
d(T) = d(T) + arr(i, 2)
Next i
.[g5].Resize(m + 1, n + 1) = brr
End With
End Sub |
|