|
Sub 统计()
Dim ar, br(), d As Object, i&, m&, k&, n&, h&, s$
ar = Sheet1.Range("a1").CurrentRegion
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(ar)
s = ar(i, 3)
If s <> "" Then
If Not d.exists(s) Then
m = m + 1
d(s) = m
ReDim Preserve br(1 To 8, 1 To m)
h = h + 1
br(1, m) = h
For k = 2 To 7
br(k, m) = ar(i, k)
Next
Else
n = d(s)
br(4, n) = br(4, n) + ar(i, 4)
br(5, n) = br(5, n) + ar(i, 5)
br(6, n) = br(6, n) + ar(i, 6)
If ar(i, 7) > br(7, n) Then br(8, n) = ar(i, 7)
End If
End If
Next
If m > 0 Then
Application.ScreenUpdating = False
Sheet2.Range("A2:H10000") = ""
With Sheet2
.Range("a2").Resize(m, 8) = Application.Transpose(br)
With .Range("A:H")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.EntireColumn.AutoFit
End With
End With
Application.ScreenUpdating = True
Else
MsgBox "没有统计到任何记录", , "请核实"
End If
End Sub |
|