2016-03-04 57 views
0

给定一个数组,我想要一个函数来确定一个数组中是否存在字符串。 字符串必须与函数的输入和数组内容完全相同。函数来确定一个特定的字符串是否存在于一个数组中

Function IsInArray(ThsStrng As String, arr() As String, bnd As Integer) As Boolean 
    For Z = 1 To bnd 
    If arr(Z) = ThsStrng Then 
     IsInArray = True 
    Else 
     IsInArray = False 
    End If 
    Next Z 
End Function 

起初,它似乎是功能正常运行。几次使用这个函数后,我注意到False值(意味着输入字符串不等于数组中的值)是不正确的(输入值与数组中的值完全相同) 。

请帮帮忙,

+0

为什么不'则IsNumeric(Application.Match( “字符串找人”,arrayVariable,0))'?如果存在完全匹配,那将是真实的,如果不是,则为假... –

回答

1

试想一下,当比赛在阵列中被发现发生了什么。下一次迭代将是不匹配的,并且返回值被设置回False。找到匹配项时,您需要停止循环。

我相信的是,VBA语法是

Exit For 
+0

谢谢,这解决了它! – devakotia

+1

'Exit Function'也可以做到。但'退出'肯定更合适。 –

相关问题