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

使用VBA插入Excel公式时出现运行时错误1004求助

VBA插入Excel公式报错1004的原因与解决办法

核心问题出在分隔符上:VBA的Range.Formula属性要求公式必须用**英文逗号(,)**作为函数参数分隔符,但你写的公式里用的是分号(;)——这是Excel部分地区版本(比如欧洲区)的界面显示分隔符,VBA不认这个规则,直接赋值就会触发1004错误。

给你两种可行的解决办法:

  • 把公式里的分号全部替换成英文逗号,修改后的代码如下:
    Range("AB3").Formula = "=MID($AA3,FIND(CHAR(134),SUBSTITUTE($AA3,AB$2,CHAR(134),1))+22,FIND(CHAR(134),SUBSTITUTE($AA3,AC$2,CHAR(134),1))-FIND(CHAR(134),SUBSTITUTE($AA3,AB$2,CHAR(134),1))-25)"
    
  • 改用FormulaLocal属性替代Formula,这个属性会适配Excel当前区域设置的分隔符,直接用你原来的分号公式就行:
    Range("AB3").FormulaLocal = "=MID($AA3;FIND(CHAR(134);SUBSTITUTE($AA3;AB$2;CHAR(134);1))+22;FIND(CHAR(134);SUBSTITUTE($AA3;AC$2;CHAR(134);1))-FIND(CHAR(134);SUBSTITUTE($AA3;AB$2;CHAR(134);1))-25)"
    

至于手动添加能生效的原因:手动输入时Excel会自动识别当前区域的分隔符规则,而VBA的Formula属性强制遵循英文语法,两者规则不匹配才出现了这种矛盾情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:30:55