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

Excel VBA子过程可选参数调用报错:编译错误Expected: =

VBA可选参数子过程调用错误解决

你的问题出在调用Sub过程的语法上:

  • VBA中调用Sub时,如果直接用括号包裹多个参数,VBA会把括号内的内容当成单个表达式来处理,而不是多个独立参数。这就导致编译器误以为你是要调用一个有返回值的函数并试图赋值,所以弹出"Compile Error: Expected: ="的提示。

解决方法有两种:

  1. 去掉参数外的括号,直接传递参数:
Public Sub Test()
    TestMethod 1, 2  ' 正确调用
End Sub
  1. 如果习惯用括号传递参数,给调用语句加上Call关键字:
Public Sub Test()
    Call TestMethod(1, 2)  ' 正确调用
End Sub

补充说明:如果是调用有返回值的Function函数,用括号包裹参数是正常语法;但Sub过程没有返回值,直接用括号包裹多参数就会触发语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:55:15