You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VBA设置单元格公式:IF与CONCATENATE函数报错问题

问题解决:VBA设置IF+CONCATENATE公式时的“end of statement”错误

你的代码触发错误的核心原因是字符串内的双引号未转义。在VBA中,若要在被双引号包裹的字符串里使用双引号,必须用两个连续双引号("")表示单个双引号,否则VBA会把单独的双引号识别为字符串的结束标记,进而抛出“end of statement”错误。

修正后的代码

Range("N7").Formula = "=IF(M7<0,CONCATENATE(""credit"",B7,M7),"""")"

可选简化写法

从Excel公式逻辑出发,也可以用&替代CONCATENATE,代码更简洁且效果一致:

Range("N7").Formula = "=IF(M7<0,""credit""&B7&M7,"""")"

内容的提问来源于stack exchange,提问作者stu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 22:07:13