VBA:从;分隔的单元格中查找字符串中的单词

时间:2019-03-14 15:59:12

标签: vba

我需要一个函数来识别另一个用“;”分隔的单元格中是否存在用“;”分隔的单元格中的单词。例如,我的A1单元格可能包含“意大利;芬兰”或仅包含“芬兰”。我的B列包含带有国家/地区的多个单元格,例如“瑞士;荷兰;比利时;芬兰;法国”。

我需要一个函数来告诉我是否在B列的单元格中找到了意大利或芬兰,并返回TRUE或FALSE。

3 个答案:

答案 0 :(得分:0)

我不确定这是否正是您要寻找的东西,但也许会对您有所帮助。

{{1}}

答案 1 :(得分:0)

假设您使用Sheet1,也许这值得您

Function FindCountry() As Boolean
Dim Country As Range

With Worksheets("Sheet1").Columns(2)
    Set Country = .Find(What:=Worksheets("Sheet1").Cells(1, 1), _
        LookIn:=xlValues, _
        SearchDirection:=xlNext, _
        MatchCase:=False, _
        Lookat:=xlWhole)
End With

FindCountry = False
If Country.Value = "Italy" Or Country.Value = "Finland" Then
    FindCountry = True
End If

End Function

答案 2 :(得分:0)

实际上,通过稍微修改您的代码,我就能使它完全满足我的需求,所以非常感谢您!

Function RetrieveKeys(Find_txt As String, In_txt As Range)

    Dim countries() As String

    countries = Split(Find_txt, ";")
    RetrieveKeys = ""
    For j = 0 To UBound(countries)

        Set FindStat = In_txt.Find(countries(j), LookIn:=xlValues)
        If FindStat Is Nothing Then
            RetrieveKeys = "FALSE"
        Else
            RetrieveKeys = "TRUE"
        End If
    Next j

End Function