我想调用我声明的Sub时出现编译错误,提示它期望=。子调用位于UserForm_Initialize事件过程中。代码如下。
在模块中:
Public Sub FillCb(Ar() As String, Cb As ComboBox)
Cb.Clear
For I = 1 To Application.CountA(Ar)
Cb.AddItem (Ar(I))
Next I
End Sub
在用户窗体代码中:
Private Sub UserForm_Initialize()
LblDate.Caption = Date
FillCb(LibrosNoPrestados, CbLibro)
End Sub
此代码给我错误。我使用调试器逐行分析了代码,并在Initialize事件中注释了las行,到目前为止,它的工作情况还不错。错误在编译时在
中抛出FillCb(LibrosNoPrestados, CbLibro)
这里不需要其余代码,因为正如我所说的,它可以正常工作,但是最后一行中的语法一定是错误的,我看不到错误。
VBA的“功能”。如果要调用不带“ Call”关键字的子例程,则不要使用括号;如果使用“ Call”关键字,则需要括号。
例如Call FillCb(LibrosNoPrestados, CbLibro)
或
FillCb LibrosNoPrestados, CbLibro
这里是Microsoft的文档:https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/call-statement