单行代码导致我的应用程序停止工作 - 我认为问题在于撇号(可能是错误的转义):
.Formula = "=IF(AND(" 'Criterion " & i & "'!" & cellAdress & ">=1;"'Criterion " & i & "'!" & cellAdress & "<=4);"'Criterion " & i & "'!" & cellAdress & ";0)"
当我尝试输入“'序列时,VBA自动在两者之间放置一个空格”和“使后者显示为注释”。有什么问题 - 我需要在这里使用转义字符吗?如果是,如何编码。我得到一个错误1004对象定义错误的应用。
谢谢
答案 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)"