|
Sub 汇总()
Dim ar As Variant
Dim br()
Dim i As Long, r As Long
Set d = CreateObject("Scripting.Dictionary")
ReDim br(1 To 50000, 1 To 21)
For Each sh In Sheets
If InStr(sh.Name, "月") > 0 Then
r = sh.Cells(Rows.Count, 3).End(xlUp).Row
If r > 2 Then
ar = sh.Range("a1:r" & r)
For i = 3 To UBound(ar)
If ar(i, 3) <> "" Then
zd = ar(i, 3)
t = d(zd)
If t = "" Then
k = k + 1
d(zd) = k
t = k
For j = 1 To 5
br(k, j) = ar(i, j)
Next j
End If
For j = 6 To UBound(ar, 2)
br(t, j + 3) = br(t, j + 3) + ar(i, j)
Next j
End If
Next i
End If
End If
Next sh
With Sheets("汇总")
.UsedRange.Offset(2).Borders.LineStyle = 0
.UsedRange.Offset(2) = Empty
.[a3].Resize(k, UBound(br, 2)) = br
.[a3].Resize(k, UBound(br, 2)).Borders.LineStyle = 1
End With
MsgBox "ok!"
End Sub |
|