Excel VBA匹配函数

Excel VBA匹配函数,excel,excel-2010,vba,Excel,Excel 2010,Vba,我是VBA新手,我正在尝试创建一个将字符串数组与目标字符串匹配的函数。如果数组中的任何字符串包含在目标字符串中,我希望它返回true 我觉得这是一个非常简单的函数,但是我在语法方面遇到了很多麻烦。任何建议都会有帮助 Function matching(ByRef stringList() As Variant, targetString As String) Dim index As Integer For index = 0 To UBound(stringList)

我是VBA新手,我正在尝试创建一个将字符串数组与目标字符串匹配的函数。如果数组中的任何字符串包含在目标字符串中,我希望它返回true

我觉得这是一个非常简单的函数,但是我在语法方面遇到了很多麻烦。任何建议都会有帮助

Function matching(ByRef stringList() As Variant, targetString As String)

    Dim index As Integer

    For index = 0 To UBound(stringList)
        If targetString Like "*" & stringList(index) & "*" Then
            matching = True
            Exit For
        Else
            matching = False
        End If
    Next index

End Function
使用:

Public Sub Test()

    Dim stringList() As Variant

    stringList = Array("hi", "de", "ho")

    Debug.Print matching(stringList, "this")
    Debug.Print matching(stringList, "that")
    Debug.Print matching(stringList, "hollow")

End Sub
输出:

True
False
True
说明:

True
False
True
星号与Like运算符一起使用时充当通配符,因为OP表示他对目标字符串中是否包含任何字符串感兴趣