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

使用VBA在Excel中嵌入VLOOKUP公式时遇类型不匹配错误求助

解决VBA中Formula赋值的运行时错误13(类型不匹配)

你的代码报错核心原因是公式字符串里的双引号未正确转义。在VBA语法中,要在字符串内表示一个双引号,必须连续写两个双引号(""),否则VBA会把中间的双引号当成字符串的结束标记,导致语法逻辑混乱,触发类型不匹配错误。

修正后的代码如下:

Sub FORMULA()
    Range("EG21").Formula = "=IFERROR(VLOOKUP(DY21,EVCargo!D:BG,56,0),"" - "")"
End Sub

关键修改说明:

  • 将原代码里的" - "替换为"" - "",这样VBA会将其解析为Excel公式中合法的" - "文本值
  • 公式的其他引用部分(单元格、工作表范围)保持不变,确保业务逻辑正确

如果需要给多个单元格批量设置该公式,比如EG21到EG30区域,可以用以下写法:

Sub BatchFormula()
    Range("EG21:EG30").Formula = "=IFERROR(VLOOKUP(DY21,EVCargo!D:BG,56,0),"" - "")"
End Sub

VBA会自动为区域内每个单元格调整对应的VLOOKUP引用(比如EG22会自动匹配DY22)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:31:06