【问题标题】:Dynamic Range Formulas动态范围公式
【发布时间】:2014-12-21 03:48:08
【问题描述】:

我有一些从另一个工作簿中提取的数据,我想对数据末尾的列求和。问题是我想要最后一个单元格中的求和公式,而不仅仅是值,这样如果用户在提取数据后更改数据,它将自动更新。数据从第 8 行开始,长度会有所不同,所以这是我迄今为止尝试过的:

  ActiveCell.Range("a1").End(xlDown).Select
  LastRow = Activecell.Row
  ActiveCell.Offset(2,0).Range("a1").Select
  ActiveCell.FormulaR1C1 = "=sum(R[-LastRow + 6]C:R[-2]C)"

这会返回一个错误,因为我猜你不能在这种语法中使用变量。我能做什么?

【问题讨论】:

  • 公式必须在列的末尾吗?如果它可能在相邻的列中,您可以简单地在某个单元格中使用 =SUM($A:$A)。如果它必须位于列的末尾,当您插入行以添加更多数据时,应相应调整诸如 =SUM($A$1:$A$10) 之类的公式。
  • 公式必须在列尾

标签: excel vba dynamic sum range


【解决方案1】:

假设您的其余代码是正确的,然后将最后一行更改为:

ActiveCell.FormulaR1C1 = "=sum(R[-" & Cstr(LastRow+6) & "]C:R[-2]C)"

【讨论】:

  • 我收到错误 1004,应用程序定义或对象定义错误,使用此代码。
  • LastRow 的值是多少?
猜你喜欢
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多