Как найти и выделить все вхождения нескольких строк в ActiveSheet?

Я уже нашел решение, но код был бы слишком длинным. Затем я решил найти способ вставить все слова, которые я хочу найти, и выделить их в одном методе поиска. Я натолкнулся на некоторые идеи использования массивов для этого и использовал эти 3 кода для написания моего (этот, этот, а такжеэтот) но я новый пользователь VBA, поэтому у моего финального кода есть проблема, он выделяет только последнюю строку массива. Я думаю, что проблема в логике, но я не знаю основ VBA, поэтому понятия не имею, как ее исправить.

Мой фактический код:

Sub Sample()
Dim fnd As String
Dim MyAr
Dim i As Long
Dim rng As Range, FoundCell As Range, LastCell As Range, myRange As Range

Set myRange = ActiveSheet.UsedRange
Set LastCell = myRange.Cells(myRange.Cells.Count)

fnd = "hugo/vw/osnabrück"

MyAr = Split(fnd, "/")

    For i = LBound(MyAr) To UBound(MyAr)

        Set FoundCell = myRange.Find(what:=MyAr(i), after:=LastCell)

        If Not FoundCell Is Nothing Then
            FirstFound = FoundCell.Address
        End If
Set rng = FoundCell
            Do Until FoundCell Is Nothing
                Set FoundCell = myRange.FindNext(after:=FoundCell)
                    Set rng = Union(rng, FoundCell)
                If FoundCell.Address = FirstFound Then Exit Do
            Loop
    Next i

If Not rng Is Nothing Then
    rng.EntireRow.Interior.ColorIndex = 3
End If
End Sub

Например, с помощью этого кода я могу найти и выделить весь «Оснабрюк», но он не выделяет ни Hugo, ни VW.

Ответы на вопрос(1)

Ваш ответ на вопрос