2010-08-09 85 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)"