excel - 使用vba在excel中设置求和公式

标签 excel excel-2007 excel-formula vba

正在处理 Excel 宏,我试图添加上面单元格中的单元格值来计算总值。这就是我的数据 Sample Excel Document

在这里,我想为每列添加上面的单元格值来计算总和。为了实现这一点,我编写了一个宏,如下所示。

For cl = 2 To 5    
    Worksheets(5).Cells(4, cl).Formula = "=SUM(B4:B6)"        
Next cl

这应该将公式设置为一行中的每个单元格,直到 5 列。 但它在一行中的所有单元格上设置相同的公式,它应该根据列进行更改。如何为相应列的每个单元格设置求和公式?

最佳答案

不确定我是否完全理解你的代码。您似乎正在写入第 4 行,但您还想对第 4 行到第 6 行求和。这将创建循环引用。

假设公式被写入第 3 行。您将需要使用 R1C1 引用样式使单元格相对于当前单元格求和。

了解要使用的引用的技巧是:

  • 获取一个新工作表,在单元格 B3 中输入 =SUM(B4:B6) 并复制到右侧。
  • 然后点击文件 > 选项 > 公式并选择R1C1 引用样式
  • 现在检查工作表中的公式。您将看到:=SUM(R[1]C:R[3]C)

这就是您在宏中所需要的。

For cl = 2 To 5    
    Worksheets(5).Cells(3, cl).FormulaR1C1 = "=SUM(R[1]C:R[3]C)"    
Next cl

关于excel - 使用vba在excel中设置求和公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17852071/

相关文章:

javascript - BIFF5 - Excel - 工作簿流问题(损坏的文件)

excel - Worksheet_Deactivate() 无法使用事件工作表函数

arrays - vba将公式复制到多个单元格

excel-2007 - POI Creates XLSX files incompletely or wrongly (the dimension tag in the XLSX XML reads only A1 after creation 而不是 A1 :500Z)

可以识别 'mixed'二项式编码数据序列的Excel公式?

excel - 具有多个条件和列表的 COUNTIF

excel - 根据 Excel 中的 4 个单元格值更改单元格颜色

VBA On.Time() 背景检查与常规用法相结合

c# - 如何识别工作表已最小化?

excel - 条件格式逻辑不包含