Try this:
Sub Payment()
Dim rng As Range, sumrng As Range
Dim r As Integer
r = 20 'Chnage 20 to desired number of rows
Sheets("Sheet1").Copy after:=Sheets("Sheet1")
With ActiveSheet
Columns("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Set rng = Range("D2")
While rng.Value <> ""
rng.Offset(r).EntireRow.Insert
rng.Offset(r, -2) = "SUM"
Set sumrng = .Range(.Cells(rng.Row, 4), .Cells(rng.Row + r - 1, 4))
rng.Offset(r) = Application.WorksheetFunction.Sum(sumrng)
Set sumrng = .Range(.Cells(rng.Row, 5), .Cells(rng.Row + r - 1, 5))
rng.Offset(r, 1) = Application.WorksheetFunction.Sum(sumrng)
Set rng = rng.Offset(r + 1)
Range(.Cells(rng.Row - 1, 1), .Cells(rng.Row - 1, 6)).Interior.ColorIndex = 38
Wend
End With
Columns("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Bookmarks