将整数和整数数组传递给VBA函数

mus*_*suf 4 excel vba excel-vba

我试图将一个整数和一个整数数组传递给一个函数,以检查整数是否是数组的成员.箭头行给出一个编译错误消息:"expect:=".

Public Sub mainSub()
B = Array(4, 5, 6, 7, 8, 9)
ckArr(4,B) '<-------
End Sub

Public function ckArr(N As Integer, A() As Integer)
For i = 0 To UBound(A)
If N = A(i) And i <= UBound(A) Then
    Debug.Print N; " Is in the List"
    Exit For 'Do
ElseIf i < UBound(A) Then GoTo NXT
Else:
    Debug.Print N; " Is NOT in the List"
    Exit For 'Do
End If
NXT:
'i = i + 1
Next 'Loop
End function
Run Code Online (Sandbox Code Playgroud)

alk*_*alk 5

要调用函数,请使用:

a = func(b,c)
Run Code Online (Sandbox Code Playgroud)

或者如果你没有在结果中进行调整,请执行以下操作:

call func(b, c)
Run Code Online (Sandbox Code Playgroud)

要么

func b, c
Run Code Online (Sandbox Code Playgroud)

func(b,c)
Run Code Online (Sandbox Code Playgroud)

无效的.


所以在你的特定情况下,它将是:

Public Sub mainSub()  
  B = Array(4, 5, 6, 7, 8, 9)
  Call ckArr(4,B) '<-------
End Sub
Run Code Online (Sandbox Code Playgroud)

要么

Public Sub mainSub()  
  B = Array(4, 5, 6, 7, 8, 9)
  ckArr 4, B '<-------
End Sub
Run Code Online (Sandbox Code Playgroud)