【发布时间】:2018-01-04 15:00:16
【问题描述】:
Cells(intRow, 2 + j).Formula = "=SUM(C" & intRow & ":" & colName & intRow & ")"
这是我用来将基本 SUM 功能放入某些行末尾的单元格的代码。在单元格中输入此公式后,单元格会显示“#NAME?”。如果我点击公式然后按“Enter”,公式会按预期工作(公式输入也是正确的)。
有没有办法让 VBA 自动更新这些单元格,所以公式一旦被 VBA 输入到单元格中就可以工作?
编辑:变量的示例值为:
intRow = 5
j = 7 (Column G)
colName = H (refers to j + 1)
所以单元格 K5 中的最终公式将是:
=SUM(C5:J5)
【问题讨论】:
-
"=SUM(C" & intRow & ":" & colName & intRow & ")"的评估结果是什么?您需要发布minimal reproducible example。 -
你有自动计算吗?单元格格式最初是否正确(即常规)
-
因此,如果不知道错误发生时变量的值,我们将无法回答这个问题。您需要显示更多代码。我们需要了解变量是如何声明的以及分配给它们的值。
-
为了澄清:错误是在单元格中抛出的(不是在执行代码时),直到我在编辑栏内单击(显示正确的公式)并按“Enter”。之后,它按预期工作。
-
我在 Excel 2016 64bit 中遇到过类似的情况 - 尽管设置为 volatile、自动计算、F9 和 selection.calculate,但 UDF 不会计算。我找到的唯一解决方案是搜索“=”并将其替换为“=”,这实际上使它重新计算。我怀疑 Excel 的例程中存在一个错误,用于发现需要重新计算的内容
标签: vba excel excel-formula