Option Explicit Sub abc() Dim i, j, a, d Set d = CreateObject("scripting.dictionary") For j = 1 To 6 Step 3 a = Cells(1, j).Resize(Cells(1, j).End(xlDown).Row, 2).Value For i = 2 To UBound(a) d(a(i, 1)) = d(a(i, 1)) + a(i, 2) Next Next [g2].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items)) End Sub