Here is a Sub which works with your test data:
Sub AutoSumColumn()
Dim rngToSum As Range
Dim TopCell As Range
Dim BottomCell As Range
Set rngToSum = Intersect(Selection.EntireColumn, ActiveSheet.UsedRange)
Set TopCell = rngToSum.Cells(1, 1)
If TopCell.Value = vbNullString Then
Set TopCell = TopCell.End(xlDown)
End If
Do
Set BottomCell = TopCell.End(xlDown)
BottomCell.Offset(1, 0).Formula = "=sum(" & Range(TopCell, BottomCell).Address & ")"
Set TopCell = BottomCell.Offset(1, 0).End(xlDown)
Loop Until Intersect(rngToSum, TopCell) Is Nothing
End Sub
How it works:
- select any cell in the column where you want to add autosum
- start the macro
The macro then creates sum formula for each continuous range. It'll include reference to text fields too, however it won't affect result.
Sheet after running the macro: