VBA撇号的问题

时间:2010-08-09 13:53:01

标签: excel vba

单行代码导致我的应用程序停止工作 - 我认为问题在于撇号(可能是错误的转义):

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

当我尝试输入“'序列时,VBA自动在两者之间放置一个空格”和“使后者显示为注释”。有什么问题 - 我需要在这里使用转义字符吗?如果是,如何编码。我得到一个错误1004对象定义错误的应用。

谢谢

1 个答案:

答案 0 :(得分: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)"