Q:

Skip a row, start sum process again

I have a report generated from a program that opens in excel similar to the image below

I have been using this code to sum the amounts:
Sub SumTotals()

lastrow = Sheets("sheet1").Cells(Rows.Count, 2).End(xlUp).Row
Range("b" & lastrow + 1) = WorksheetFunction.Sum(Sheets("sheet1").Range("b2:b" & lastrow))
Range("a" & lastrow + 1) = Cells(1, 1)
Range("a1:b" & lastrow).Select
Selection.Delete Shift:=xlUp

End Sub

The issue I am running into is that the code sums both company A and company B and the ends up 

Company A 5,625.07

What I am trying to accomplish is

Company A 2,053.73
Company B 3,571.34

When I get these reports there is generally 100 + companies so if I can speed up the process it would be very beneficially.  
I suspect the first line of code is the problem
lastrow = Sheets("sheet1").Cells(Rows.Count, 2).End(xlUp).Row

As this is placing the end at cell B8 instead of B3.  I am trying to figure out how to sum the first column of numbers until the first blank row, and then carry on to the numbers below and carry out the same process.  Any suggestions are appreciated. 
ideal end result
Ideal result

A:

Try this
Sub x()

Dim r As Range

For Each r In Columns(2).SpecialCells(xlCellTypeConstants).Areas
    r(r.Count + 1).Value = Application.Sum(r)
    r(r.Count + 1).Offset(, -1).Value = r(1).Offset(, -1).Value
    r.EntireRow.Delete shift:=xlUp
Next r

End Sub

