首页 > 解决方案 > 如何修复更改范围的总和公式

问题描述

Sub formu 
    Range(“d” & Rows.count).end(xlUp).offset(2,0).formular1c1 = “=sum(R[-9]c:r[-1]c)”
End sub

目前这是我的公式,但它每周都会改变,所以下周可能是 R[-14]c:r[-1]c 或下周 R[-6]c:r[-1]c . 如何让我的公式每周更改一次,这样我就不必手动重新对单元格求和?

标签: excelvba

解决方案


假设以下将是您当前的周数据:

在此处输入图像描述

以下代码将在最后一个单元格下方的单元格中添加一个公式:

Sub formu()

Dim lr As Long
With Formulas
    lr = .Cells(.Rows.Count, 4).End(xlUp).Row
    .Cells(lr + 1, 4).FormulaR1C1 = "=sum(R[-" & lr & "]c:r[-" & lr - (lr - 1) & "]c)"
End With

End Sub

而工作表参考是包含数据的工作表代号。输出:

在此处输入图像描述

该单元格中的公式当前为:

=SUM(R[-10]C:R[-1]C)

您可以在项目资源管理器中找到工作表CodeName并为其指定一个有意义的名称以直接引用:)


推荐阅读