如何解决Excel VBA向单元格传递公式时变量未正确替换的问题
问题原因
你写的代码中将VBA变量Mt_1放在了公式字符串的双引号内部,VBA不会解析双引号包裹内容里的变量名,只会把Mt_1当作普通文本直接写入公式。Excel识别到公式里的Mt_1不是内置函数也不是已定义的名称,自动添加了@隐式交集运算符,就出现了你看到的错误结果。
修复方法
把变量Mt_1移到公式字符串的双引号外部,通过&和前后的公式字符串拼接即可,修改后的代码如下:
Mt_1 = "trade-508-cd" bpTargetRange.FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""*" & Mt_1 & "*"",RC[-1])),""1"",""0"")"
拼接后VBA会先把Mt_1的实际值trade-508-cd代入,再把完整的公式写入单元格,就能得到你预期的结果。
内容的提问来源于stack exchange,提问作者selet
相关产品推荐
相关产品推荐

