Private Sub CommandButton2_Click()
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")
Arr = Sheet2.Range("a4:m" & Sheet2.[a65536].End(xlUp).Row)
For i = 1 To UBound(Arr)
s = Arr(i, 7) & vbTab & Arr(i, 8) & vbTab & Arr(i, 9)
d(s) = d(s) + Arr(i, 10)
Next
brr = Sheet3.Range("a4:m" & Sheet3.[a65536].End(xlUp).Row)
For i = 1 To UBound(brr)
m = brr(i, 7) & vbTab & brr(i, 8) & vbTab & brr(i, 9)
d1(m) = d1(m) + brr(i, 10)
Next
crr = Sheet1.Range("a4:h" & Sheet1.[a65536].End(xlUp).Row)
For i = 1 To UBound(crr)
crr(i, 6) = d(crr(i, 2) & vbTab & crr(i, 3) & vbTab & crr(i, 4))
crr(i, 7) = d1(crr(i, 2) & vbTab & crr(i, 3) & vbTab & crr(i, 4))
crr(i, 8) = crr(i, 5) + crr(i, 6) - crr(i, 7)
Next
[a4].Resize(UBound(crr), UBound(crr, 2)) = crr
End Sub |