|
Sub 汇总() '雄鹰2017.12.1
Dim tt
Set d = CreateObject("scripting.dictionary")
For k = 1 To Sheets.Count
arr = Sheets(k).[a1].CurrentRegion
For j = 2 To UBound(arr, 2)
If arr(3, j) = "" Then arr(3, j) = arr(3, j - 1)
Next j
If k = 1 Then brr = arr
ReDim crr(1 To UBound(brr) - 4, 1 To UBound(brr) - 1)
If k <> 1 Then
For i = 5 To UBound(arr)
For j = 2 To UBound(arr, 2)
tt = arr(i, 1) & arr(3, j) & arr(4, j)
d(tt) = d(tt) + arr(i, j)
Next j
Next i
End If
Next k
For i = 5 To UBound(brr)
For j = 2 To UBound(brr, 2)
tt = brr(i, 1) & brr(3, j) & brr(4, j)
crr(i - 4, j - 1) = d(tt)
Next j
Next i
Sheet1.[b5].Resize(UBound(crr), UBound(crr, 2)) = crr
End Sub
|
|