Этот код помещает формулу в B20 на основе количества ячеек, заполненных над ним:
Sub Formulamaker()
Dim rng As Range
Set rng = Range(Cells(1, "B"), Cells(1, "B").End(xlDown))
Range("B20").Formula = "=SUM(" & rng.Address & ")"
End Sub
В вашем примере формула вставлена на две ячейки ниже данных. Если вы всегда хотите, чтобы формула находилась на две ячейки ниже данных, тогда:
Sub Formulamaker()
Dim rng As Range
Set rng = Range(Cells(1, "B"), Cells(1, "B").End(xlDown))
Cells(rng.Rows.Count + rng.Row + 1, "B").Formula = "=SUM(" & rng.Address & ")"
End Sub