Sub test() Dim d As Object Dim arr, arrt Dim i%, k% Set d = CreateObject("Scripting.Dictionary") arr = Range("a2:c" & [a65536].End(3).Row) For i = 1 To UBound(arr) d(arr(i, 1) & "-" & arr(i, 2)) = d(arr(i, 1) & "-" & arr(i, 2)) + arr(i, 3) Next arrt = Range("h2:j" & [h65536].End(3).Row) For k = 1 To UBound(arrt) arrt(k, 3) = d(arrt(k, 1) & "-" & arrt(k, 2)) Next Range("h2:j65536").ClearContents [h2].Resize(UBound(arrt), 3) = arrt Set d = Nothing End Sub
Sub test() Dim d As Object Dim arr, arrt(), arr0 Dim i%, k% Set d = CreateObject("Scripting.Dictionary") arr = Range("a2:c" & [a65536].End(3).Row) For i = 1 To UBound(arr) d(arr(i, 1) & "-" & arr(i, 2)) = d(arr(i, 1) & "-" & arr(i, 2)) + arr(i, 3) Next arrt = d.Keys ReDim arr0(0 To d.Count - 1, 1 To 3) For k = LBound(arrt) To UBound(arrt) arr0(k, 1) = Split(arrt(k), "-")(0) arr0(k, 2) = Split(arrt(k), "-")(1) arr0(k, 3) = d(arrt(k)) Next Range("h2:j65536").ClearContents [h2].Resize(d.Count, 3) = arr0 Set d = Nothing End Sub
Sub test() Dim d As Object Dim arr, arrt Dim i%, k% Set d = CreateObject("Scripting.Dictionary") arr = Range("a2:c" & [a65536].End(3).Row) For i = 1 To UBound(arr) d(arr(i, 1) & "-" & arr(i, 2)) = d(arr(i, 1) & "-" & arr(i, 2)) + arr(i, 3) Next arrt = Range("h2:j" & [h65536].End(3).Row) For k = 1 To UBound(arrt) arrt(k, 3) = d(arrt(k, 1) & "-" & arrt(k, 2)) Next Range("h2:j65536").ClearContents [h2].Resize(UBound(arrt), 3) = arrt Set d = Nothing End Sub