Excel不自动计算公式,即通过VBA插入

问题描述:

我正在通过vba和.FormulaR1C1创建公式,但Excel似乎并未意识到它是公式。它在公式栏中显示正确的公式,并在单元格本身中显示参考错误。Excel不自动计算公式,即通过VBA插入

我试图用一个简单的公式

.Cells(i, recalcCol).FormulaR1C1 = "=RC(-1)" 

细胞格式被设置在一般的测试片。在之前或之后的任何时间插入.NumberFormat = "general"不会改变行为。这绝对不是一个文本单元格。

我可以双击或F2,然后进入细胞击中Enter和Excel消除错误并显示正确的结果。但为所有更改的单元格做这件事是不可能的。

我也尝试重新计算表单,但没有改变。

任何提示?

THX卡兹

+4

' “= RC [-1]”'方括号 – Slai

+0

该死..那简单......那就是从德语翻译成英文的时候会发生什么。多谢!你想要正确的答案投票? – Kazschuri

作为评价所提到的,=RC[-1]是正确的公式。

然而,为了看到RC格式自己的公式,请执行下列操作:

  • 用公式选择单元格
  • 下方运行
  • 代码检查即时窗口

Option Explicit 

Public Sub TestMe() 

    Debug.Print Selection.FormulaR1C1 
    Debug.Print Selection.Formula 
    Debug.Print Selection.FormulaLocal 

End Sub 

Concernin g德语译成英语,在使用.FormulaR1C1.Formula时,您不应该担心,Excel会处理它。只有当您通过.FormulaLocal作为字符串传递公式时,您才应该担心。


这是导致从上面的Sub即时窗口,使用简单的SUM()式:

=RC[-1]+SUM(5,5) 
=M10+SUM(5,5) 
=M10+SUMME(5;5) 
+1

感谢您添加FormulaLocal部分。我一直无视这一点,理由是我自己只需要输入正确的配方。但从来没有想过用它来获得翻译。 – Kazschuri

+0

@Kazschuri - 欢迎。 – Vityata