У меня есть список ключевых слов и вы хотите узнать, содержит ли одна ячейка какое-либо из этих слов. Например, если мой список ключевых слов (Cat, Dog, Turtle), функция вернет MATCH, если он будет искать внутри «Mr. Dogs Magic Land». Я нашел хороший UDF онлайн для использования в качестве функции, но когда я пытаюсь его закодировать, чтобы он проверял каждое слово в списке ключевых слов, я получаю #VALUE !. Первая функция - это мой цикл, а вторая - функция соответствия UDF, найденная в Интернете (извините, не помню, где, но реквизит для тех, кто ее создал.) Я пробовал варианты функций совпадения слов, таких как InStr, безрезультатно.Функция Looping Word Match в Excel VBA
Function StringFind(rng(), source)
For I = LBound(rng) To UBound(rng)
StringFind = MyMatch(rng(I), source)
If StringFind = "MATCH" Then Exit Function
Next I
StringFind = "NO MATCH"
End Function
Function MyMatch(FindText As String, WithinText As Variant) As String
'
Dim vntFind As Variant
Dim vntWithin As Variant
For Each vntFind In Split(UCase(FindText), " ")
If Len(Trim(vntFind)) > 0 Then
For Each vntWithin In Split(UCase(WithinText), " ")
If Len(Trim(vntWithin)) > 0 Then
If vntFind = vntWithin Then
MyMatch = "MATCH"
Exit Function
End If
End If
Next
End If
Next
MyMatch = "NO MATCH"
End Function
да я понимаю, что не нужно StringFind = «NO MATCH» часть после того, как он выходит из цикла, но это была идея ... – postelrich