当我终于发现我可以使用我自己的语言而不是Range.FormulaLocal而不是Range.Formula时,我非常兴奋!
可能性无穷无尽。但是,我遇到了公式中的文本字符串问题。
这段代码很好用:
Range("I5").FormulaLocal = "=ALS(A5=1;H5;0)"
但这些代码行不起作用:
Range("I5").FormulaLocal = "=ALS(A5="x";H5;0)"
Range("I6").FormulaLocal = "=ALS.FOUT(VERT.ZOEKEN(A2;'betaaltermijnen.xlsx'!tabel;3;ONWAAR);"")
有人能帮助我吗?
答案 0 :(得分:3)
你不小心意外地结束了你的琴弦......
第一行:
如果您要在字符串中包含变量x
,请使用&
Range("I5").FormulaLocal = "=ALS(A5=" & x & ";H5;0)"
如果您尝试使用字符串"x"
,则必须在每个字符串引号前使用其他引号。这称为转义字符。
Range("I5").FormulaLocal = "=ALS(A5=""x"";H5;0)"
这样,当VBA看到""
时,它会将其视为字符串中的引用的开头或结尾
基于同样的理由,你的第二行变为
Range("I6").FormulaLocal = _
"=ALS.FOUT(VERT.ZOEKEN(A2;'betaaltermijnen.xlsx'!tabel;3;ONWAAR);"" "") "
我已经使用_
下划线继续行而不会太长,因为最后6个字符是重要的位!