Este es un ejemplo de la macro separa las partidas y hace las sumas de la segunda columna
y esta es la macro, solo cambia el a1 segun donde comiencen tus datos
Sub subtotales()
Dim unicos As New Collection
Set datos = Range("a1").CurrentRegion
With datos
For i = 1 To .Rows.Count
partida = .Cells(i, 1)
On Error Resume Next
unicos.Add partida, CStr(partida)
On Error GoTo 0
Next i
For j = 1 To unicos.Count
partida = unicos.Item(j)
cuenta = WorksheetFunction.CountIf(.Columns(1), partida)
fila = WorksheetFunction.Match(partida, .Columns(1), 0)
Set AREA = .Rows(fila).Resize(cuenta, .Columns.Count)
With AREA
.Rows(.Rows.Count + 1).Resize(2).EntireRow.Insert
.Rows(.Rows.Count + 1).HorizontalAlignment = xlGeneral
.Rows(.Rows.Count + 1).VerticalAlignment = xlBottom
.Rows(.Rows.Count + 1).WrapText = False
.Rows(.Rows.Count + 1).Font.Bold = True
.Cells(.Rows.Count + 1, 1) = "SUBTOTALES"
.Cells(.Rows.Count + 1, 2) = WorksheetFunction.Sum(.Columns(2))
.Cells(.Rows.Count + 1, 2).NumberFormat = "0,0.00"
.EntireColumn.AutoFit
End With
Next j
End With
End Sub