公式中Range.FormulaLocal和textstring的问题

时间:2016-12-15 13:23:27

标签: excel-vba vba excel

当我终于发现我可以使用我自己的语言而不是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);"")

有人能帮助我吗?

1 个答案:

答案 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个字符是重要的位!