Este ejemplo fue hecho con 6500 código, como no especificas en que columna están los datos que se quieren sumar la macro hace el calculo usando la columna A(1) y C(3) y coloca los resultados dos columnas después de la ultima columna con datos, también se puede hacer sin datos usando eliminación de registros duplicados y luego la función sumar. Si sobre lo que quede.
y esta es la macro
Option Base 1
Sub sumar_codigos()
Dim unicos As New Collection
Set DATOS = Range("a1").CurrentRegion
With DATOS
r = .Rows.Count: c = .Columns.Count
' .Sort key1:=Range(.Columns(1).Address), order1:=xlAscending, Header:=xlYes
For i = 2 To r
codigo = .Cells(i, 1)
On Error Resume Next
unicos.Add codigo, CStr(codigo)
On Error GoTo 0
Next i
n = unicos.Count
ReDim matriz(n, 2)
For j = 1 To n
codigo = unicos.Item(j)
matriz(j, 1) = codigo
matriz(j, 2) = WorksheetFunction.SumIf(.Columns(1), codigo, .Columns(3))
Next j
Range(.Cells(2, c + 3).Resize(n, 2).Address) = matriz
Range(.Cells(1, c + 3).Address) = "CODIGO"
Range(.Cells(1, c + 4).Address) = "TOTAL"
Range(.Cells(1, c + 3).Address).Resize(1, 2).Font.Bold = True
End With
Set DATOS = Nothing
End Sub