函数总是返回布尔值False
我有以下function:
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
我通过这个子程序调用:
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
问题是IsInArray
总是返回False
,为什么?
findneedle
时忘了返回( Exit Function
)。
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