Q:

Macro to add formulas where the are multiple rows above

I've been doing the company financial summaries, I've been doing a lot of the leg work manually (sorting by product, company, etc.). The problem is I've been using the below macro to add in two rows, so I can work out spends per customer.
Now what I want to do is add in those breaks, but in the first blank row, I want to copy and paste the values from the cells above for columns A, B and C. In column D and E I would like to sum the contiguous cells above, while column F should work out the difference between the calculated values in D & E (so =D-E), while column G should work out the % (=(Fx/Dx)*100). If there is a way to do this only if there is more than one row above all the better.
The code that I've been using so far is below, which gives me the line breaks I've been using. But with my RSI, copying the requisite cells and doing all the formulas manually isn't helping.
Sub AddBlankRows()
'
Dim iRow As Integer, iCol As Integer
Dim oRng As Range

Set oRng = Range("b1")

iRow = oRng.Row
iCol = oRng.Column

Do
'
If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
    Cells(iRow + 1, iCol).EntireRow.Insert Shift:=x1Down
    Cells(iRow + 1, iCol).EntireRow.Insert Shift:=x1Down
    iRow = iRow + 3
Else
    iRow = iRow + 1
End If
'
Loop While Not Cells(iRow, iCol).Text = ""
'
End Sub

Example data

What I'm aiming for

I'm a complete novice in this, so any help would be appreciated.

A:

An alternative solution you might want to consider is to keep the data in its original format and add a total row. If the data is a table, you can do this by selecting Total Row from the Design tab; otherwise, you can use the SUBTOTAL() formula and auto-filtering to achieve the same result. I've used tables for my example.
Without filtering, you get the results for the whole data set:

When you filter on a particular value of Account or Customer, it instead summarises the values for those rows only:

