|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub tt1()
Dim brr()
Sheet1.[A13:E65000].ClearContents
arr = Sheet1.[a1].CurrentRegion
Set d = CreateObject("scripting.dictionary")
For i = 2 To UBound(arr)
If d.exists(arr(i, 1)) Then
brr = d(arr(i, 1))
brr(1, 1) = arr(i, 1)
brr(1, 2) = brr(1, 2) + arr(i, 2)
brr(1, 3) = brr(1, 3) + arr(i, 3)
d(arr(i, 1)) = brr
Else
ReDim brr(1 To 1, 1 To 3)
brr(1, 1) = arr(i, 1)
brr(1, 2) = arr(i, 2)
brr(1, 3) = arr(i, 3)
d(arr(i, 1)) = brr
End If
Next
'--------------------------------
A = Application.Index(arr, 1)
[A13].Resize(1, UBound(A)) = A
'--------------------------------
t1 = Application.Transpose(d.keys)
t2 = Application.Transpose(Application.Transpose(d.items))
[A14].Resize(UBound(t2), UBound(t2, 2)) = t2
'--------------------------------
Set b1 = [A13].CurrentRegion.Columns(2).Offset(1)
bb1 = b1.Resize(b1.Rows.Count - 1, 1).Address(0, 0)
[A65000].End(3).Offset(1) = "Total"
[B65000].End(3).Offset(1).Formula = "=sum(" & bb1 & ")"
'--------------------------------
Set b2 = [A13].CurrentRegion.Columns(3).Offset(1)
bb2 = b2.Resize(b1.Rows.Count - 1, 1).Address(0, 0)
[C65000].End(3).Offset(1).Formula = "=sum(" & bb2 & ")"
End Sub |
|