|
Sub 汇总()
Dim d, arr1, arr2()
Set d = CreateObject("Scripting.Dictionary")
arr1 = Sheets("月份入库表").Range("B3:H" & Sheets("月份入库表").Range("B65536").End(xlUp).Row)
For i = 1 To UBound(arr1, 1)
If d.Exists(arr1(i, 2) & "|" & arr1(i, 3) & "|" & arr1(i, 4) & "|" & arr1(i, 5)) = False Then
d(arr1(i, 2) & "|" & arr1(i, 3) & "|" & arr1(i, 4) & "|" & arr1(i, 5)) = d.Count + 1
ReDim Preserve arr2(1 To 6, 1 To d.Count)
arr2(1, d.Count) = arr1(i, 2)
arr2(2, d.Count) = arr1(i, 3)
arr2(3, d.Count) = arr1(i, 4)
arr2(4, d.Count) = arr1(i, 5)
arr2(5, d(arr1(i, 2) & "|" & arr1(i, 3) & "|" & arr1(i, 4) & "|" & arr1(i, 5))) = arr2(5, d(arr1(i, 2) & "|" & arr1(i, 3) & "|" & arr1(i, 4) & "|" & arr1(i, 5))) + arr1(i, 6)
End If
Next i
Sheets("汇总表").Range("B3").Resize(d.Count, 6) = Application.WorksheetFunction.Transpose(arr2)
End Sub
|
|