递增SUM函数以在VBA中包括新插入的行

时间:2019-06-11 19:22:06

标签: excel vba sum

我试图找到一种方法来更新表底部的小计,使其包括新插入的行值。

例如,在下面的电子表格中,我有一个按钮,可在表的末尾插入行(以添加新项)。此按钮使用vba。我刚刚使用vba插入了第4行,它为空白。但是,在小计行中,求和函数未更改为包括新行。我可以在VBA代码的末尾添加什么以修改该总和公式以包括新行(并将范围向下扩展一个单元格)?这样,每当我使用按钮添加行时,它也会将范围向下扩展一个单元格吗? (包括b4)

Example Spreadsheet

1 个答案:

答案 0 :(得分:1)

此代码根据上方的单元格数量将公式放入 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