2017-07-17 143 views
1

我正在通過vba和.FormulaR1C1創建公式,但Excel似乎並未意識到它是公式。它在公式欄中顯示正確的公式,並在單元格本身中顯示參考錯誤。Excel不自動計算公式,即通過VBA插入

我試圖用一個簡單的公式

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

細胞格式被設置在一般的測試片。在之前或之後的任何時間插入.NumberFormat = "general"不會改變行爲。這絕對不是一個文本單元格。

我可以雙擊或F2,然後進入細胞擊中Enter和Excel消除錯誤並顯示正確的結果。但爲所有更改的單元格做這件事是不可能的。

我也嘗試重新計算表單,但沒有改變。

任何提示?

THX卡茲

+4

' 「= RC [-1]」'方括號 – Slai

+0

該死..那簡單......那就是從德語翻譯成英文的時候會發生什麼。多謝!你想要正確的答案投票? – Kazschuri

回答

1

作爲評價所提到的,=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