|
Sub test()
Set dic = CreateObject("scripting.dictionary")
arr = [a2].CurrentRegion
For i = 2 To UBound(arr)
xm = arr(i, 1) & arr(i, 2) & arr(i, 3)
If Not dic.exists(xm) Then
dic(xm) = arr(i, 4)
Else
dic(xm) = dic(xm) + arr(i, 4)
End If
Next
Range("j3:l" & Rows.Count) = ""
brr = [h1].CurrentRegion
For i = 3 To UBound(brr)
For j = 3 To UBound(brr, 2)
xm = brr(i, 1) & brr(i, 2) & brr(2, j)
If dic.exists(xm) Then
brr(i, j) = dic(xm)
End If
Next
Next
[h1].Resize(UBound(brr), UBound(brr, 2)) = brr
End Sub
|
|