VBA写入IF条件公式触发运行时错误'1004',求解决方案
VBA运行时错误1004修复方案
核心错误原因
你代码中使用Formula属性写入公式时,采用了分号作为参数分隔符,但VBA的Formula属性默认遵循美式Excel语法规则,要求使用英文逗号作为公式参数分隔符,语法不匹配触发了1004错误。
可行修复方案
- 方案1:将公式内的分号替换为英文逗号,保持使用
Formula属性即可:
sh.Range("$K$3:$K$" & lastR).Formula = "=IF($I3<>""Not Found"",$I3,"""")"
- 方案2:如果你需要适配本地Excel的分号分隔符使用习惯,将
Formula属性替换为FormulaLocal即可,无需修改公式内容:
sh.Range("$K$3:$K$" & lastR).FormulaLocal = "=IF($I3<>""Not Found"";$I3;"""""")"
补充说明
你代码中对双引号的转义写法没有问题,无需调整。
内容的提问来源于stack exchange,提问作者Ushay
相关产品推荐
相关产品推荐

