2014-01-09 123 views
-1

我是VBA的新手,我試圖創建一個函數,它將字符串數組與目標字符串進行匹配。如果數組中的任何字符串都包含在目標字符串中,我希望它返回true。VBA匹配函數

我覺得這是一個非常簡單的功能,但是我在語法上遇到了很多麻煩。任何建議都會有幫助!

回答

1
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 

說明:

與LIKE一起使用時,星號OP表示他對目標字符串中是否有任何字符串是包含感興趣,因此操作員充當通配符。