Sub 统计()
Dim Arr, Brr(), K
Dim Rc%, X%
Dim Num1 As Single
Dim Num2 As Single
Dim Dic
Set Dic = CreateObject("scripting.dictionary")
Arr = Sheet1.Range("A1").CurrentRegion
ReDim Brr(1 To 10000, 1 To 5)
K = 0
For Rc = 2 To UBound(Arr)
If Dic.Exists(Arr(Rc, 2)) Then
Brr(Dic(Arr(Rc, 2)), 3) = Brr(Dic(Arr(Rc, 2)), 3) + Arr(Rc, 6)
Brr(Dic(Arr(Rc, 2)), 4) = Brr(Dic(Arr(Rc, 2)), 4) + Arr(Rc, 7)
Else
K = K + 1
Dic(Arr(Rc, 2)) = K
Brr(K, 1) = K: Brr(K, 2) = Arr(Rc, 2)
Brr(K, 3) = Arr(Rc, 6): Brr(K, 4) = Arr(Rc, 7)
End If
Num1 = Num1 + Arr(Rc, 6)
Num2 = Num2 + Arr(Rc, 7)
Next Rc
With Sheet2
.Range("A3:E10000").ClearContents
.Range("A2:E10000").Borders.LineStyle = xlNone
.Range("A3:E" & K + 2) = Brr
.Cells(K + 3, 1) = "合 计"
.Range(.Cells(K + 3, 1), Cells(K + 3, 2)).HorizontalAlignment = xlCenterAcrossSelection
.Cells(K + 3, 3) = Num1
.Cells(K + 3, 4) = Num2
With .Range(.Cells(2, 1), .Cells(K + 3, 5)).Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
End With
End Sub