Sub 矩形1_Click()
Set d = CreateObject("scripting.dictionary")
Set dt = CreateObject("scripting.dictionary")
arr = Sheets("原表").UsedRange
Application.ScreenUpdating = False
Sheets("模板").UsedRange.ClearContents
ReDim brr(1 To UBound(arr), 1 To UBound(arr))
r = 1
For j = 2 To UBound(arr)
If Not d.exists(arr(j, 1)) Then
r = r + 1
brr(r, 1) = arr(j, 1)
d(arr(j, 1)) = ""
End If
d(arr(j, 1) & CDate(arr(j, 3))) = d(arr(j, 1) & CDate(arr(j, 3))) + arr(j, 2)
dt(arr(j, 3) * 1) = CDate(arr(j, 3))
Next j
c = 2
For j = 1 To dt.Count
c = c + 1
brr(1, c) = dt(WorksheetFunction.Small(dt.keys, j))
For i = 2 To r
brr(i, c) = d(brr(i, 1) & brr(1, c))
brr(i, 2) = brr(i, c) + brr(i, 2)
Next i
Next j
brr(1, 1) = "编码"
brr(1, 2) = "数量"
[a1].Resize(r, c) = brr
Application.ScreenUpdating = True
End Sub
|