Excel不会自动计算通过VBA插入的公式
我正在通过vba和Excel不会自动计算通过VBA插入的公式,vba,excel,Vba,Excel,我正在通过vba和.FormulaR1C1创建一个公式,但Excel似乎没有意识到这是一个公式。它在公式栏中显示正确的公式,在单元格中显示引用错误 我试了一份带有简单公式的测试表 .Cells(i, recalcCol).FormulaR1C1 = "=RC(-1)" 单元格格式设置为“常规”。在之前或之后的任何位置插入.NumberFormat=“general”,都不会改变行为。它绝对不是文本单元格 我可以双击或F2输入单元格,然后点击enter,Excel将删除错误并显示正确的结
.FormulaR1C1
创建一个公式,但Excel似乎没有意识到这是一个公式。它在公式栏中显示正确的公式,在单元格中显示引用错误
我试了一份带有简单公式的测试表
.Cells(i, recalcCol).FormulaR1C1 = "=RC(-1)"
单元格格式设置为“常规”。在之前或之后的任何位置插入.NumberFormat=“general”
,都不会改变行为。它绝对不是文本单元格
我可以双击或F2
输入单元格,然后点击enter
,Excel将删除错误并显示正确的结果。但对所有改变的细胞都这样做是不可能的
我也试着重新计算工作表,但也没有改变
有什么提示吗
Thx Kaz如评论中所述,
=RC[-1]
是正确的公式
但是,要查看RC格式的公式,请执行以下操作:
- 选择带有公式的单元格
- 运行下面的代码
- 检查即时窗口
关于德语到英语,当您使用
.formula1c1
或.Formula
时,您不必担心它,Excel会处理它。只有将公式作为字符串通过.FormulaLocal
传递时,您才应该担心
这是使用简单的SUM()公式从上面的
Sub
在即时窗口中得到的结果:
“=RC[-1]”
方括号。。。那么简单。。。这就是将德语公式翻译成英语公式的过程。太多了!你想要正确的答案吗?谢谢你添加了公式本地部分。我总是忽略这一点,因为我自己只是提出了正确的公式。但是我从来没有想过用它来翻译。
Option Explicit
Public Sub TestMe()
Debug.Print Selection.FormulaR1C1
Debug.Print Selection.Formula
Debug.Print Selection.FormulaLocal
End Sub
=RC[-1]+SUM(5,5)
=M10+SUM(5,5)
=M10+SUMME(5;5)