Wak*_*nka 2 excel vba excel-vba
我有以下功能:
Function IsInArray(ByVal needle As String, haystack() As String) As Boolean
Dim element As Variant
For Each element In haystack
If element = needle Then
IsInArray = True
End If
Next element
IsInArray = False
End Function
Run Code Online (Sandbox Code Playgroud)
我通过这个子程序调用的是:
Sub CallIsInArray()
Dim haystack(1 To 4) As String
haystack(1) = "T1"
haystack(2) = "T2"
haystack(3) = "T3"
haystack(4) = "T4"
Dim needle As String
needle = "T1" ' Should return True but instead of it return False
' needle = "T1x" ' Return False as expected
Dim result As Boolean
result = IsInArray(needle, haystack)
MsgBox result
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是IsInArray总是回归False,为什么?
Exit Function当你找到时,你忘了返回()needle.
Function IsInArray(ByVal needle As String, haystack() As String) As Boolean
Dim element As Variant
For Each element In haystack
If element = needle Then
IsInArray = True
Exit Function
End If
Next element
IsInArray = False
End Function
Run Code Online (Sandbox Code Playgroud)