使用多个参数调用 sub 会导致编译错误

  • 本文关键字:编译 错误 sub 调用 参数 vba
  • 更新时间 :
  • 英文 :


当将两个变量传递给另一个子时,我得到"编译错误:预期:="。

在前面添加"void ="将解决问题,但这是最佳实践似乎很奇怪。

不传递参数时使用括号将导致相同的编译错误。

Sub sub1()
sub2
sub2 ()
sub3 ("Hello World!")
sub4 ("Hello World!", "Hello World! Again!")
End Sub
Sub sub2()
MsgBox ("Hello World!")
End Sub
Sub sub3(text As String)
MsgBox (text)
End Sub
Sub sub4(text1 As String, text2 As String)
MsgBox (text1)
MsgBox (text2)
End Sub

从它们不属于的位置删除括号。

Sub sub1()
sub2
sub2
sub3 "Hello World!"
sub4 "Hello World!", "Hello World! Again!"
End Sub
Sub sub2()
MsgBox "Hello World!"
End Sub
Sub sub3(text As String)
MsgBox text
End Sub
Sub sub4(text1 As String, text2 As String)
MsgBox text1
MsgBox text2
End Sub

看看在您的示例中,VBA 如何在子例程名称和括号后添加一个空格?

sub2 ()

这是一个提示。正在发生的事情是,您作为参数提供的两个字符串首先被计算,导致单个参数,然后它尝试传递给具有 2 个必需参数的子例程。

返回某些内容的函数需要括号来括起参数,而子例程不需要(不能(。

最新更新