2010-08-09 115 views
2

一行代碼導致我的應用程序停止工作 - 我覺得這個問題是與撇號(也許錯的逸出):問題VBA撇號

.Formula = "=IF(AND(" 'Criterion " & i & "'!" & cellAdress & ">=1;"'Criterion " & i & "'!" & cellAdress & "<=4);"'Criterion " & i & "'!" & cellAdress & ";0)" 

當我試圖進入「」序列VBA自動在「和」之間放置空格,使後者顯示爲註釋。什麼是錯的 - 我需要在這裏使用轉義字符嗎?如果是,如何編碼。我得到一個錯誤1004應用程序對象定義的錯誤。

謝謝

回答

3

您可以通過將2個引號,像這樣逃避VBA雙引號:

"" 

您也可以顯式調用Chr(34)擺在雙引號,像這樣:

Debug.Print "The following is in double quotes: " & _ 
    chr(34) & "Inside double quotes" & chr(34) 

我無法在Excel中嘗試以下公式,但我認爲它應該可以工作:

.Formula = "=IF(AND(""Criterion""" & i & "!" & cellAdress & _ 
    ">=1;""Criterion""" & i & "!" & cellAdress & "<=4);""Criterion""" & _ 
    i & "!" & cellAdress & ";0)"