
Option Explicit
Sub abc()
Dim i, j, a, p
a = [a1].CurrentRegion.Offset(1).Resize(, 4).Value
ReDim sum(1 To 1, 1 To UBound(a, 2))
For i = 1 To UBound(a) - 1
a(i, 4) = a(i, 2) - a(i, 3)
If a(i, 1) <> a(i + 1, 1) Then
sum(1, 2) = sum(1, 2) + a(p + 1, 2)
sum(1, 3) = sum(1, 3) + a(i, 3)
sum(1, 4) = sum(1, 4) + a(i, 4)
p = i
End If
Next
[a1].Offset(, UBound(a, 2) + 1).Resize(, UBound(sum, 2)) = sum
[a2].Resize(UBound(a) - 1, UBound(a, 2)) = a
End Sub