VBA中的可选参数在执行时导致错误

我试图创build过程,传递2个参数,强制性和可选,之前我添加可选参数过程正确运行。 这里是代码:

Sub a2(var As String, Optional num As Integer = 5) MsgBox (num) End Sub Sub start_a2() a2 ("null_text", 5) End Sub 

当我传递任何第二个参数时,运行过程start_a2在第一行失败:Sub start_a2(),VBA高亮此行与黄色并返回语法错误,但不提供任何细节。 第二个论点是被大肆传递的?

如果您使用Call它会工作吗? 如

 Sub start_a2() Call a2("null_text", 5) End Sub 

编辑 :虽然上面的工作,@ SO的评论是正确的(谢谢! 你可以使用

 Sub start_a2() a2 "null_text", 5 End Sub