Wie finde und markiere ich alle Vorkommen mehrerer Zeichenfolgen in ActiveSheet?

Ich habe bereits eine Lösung gefunden, aber der Code wäre zu lang. Dann habe ich beschlossen, nach einer Möglichkeit zu suchen, alle Wörter, die ich finden und hervorheben möchte, in eine einzige Suchmethode einzufügen. Ich bin auf einige Ideen gestoßen, Arrays zu verwenden, und habe diese drei Codes verwendet, um meine zu schreiben Die, Die, undDie) aber ich bin ein neuer Benutzer von VBA, so dass mein endgültiger Code ein Problem hat, es hebt nur den letzten String des Arrays hervor. Ich denke, das Problem ist logisch, aber ich kenne die Grundlagen von VBA nicht und habe keine Ahnung, wie ich es korrigieren soll.

Mein aktueller Code:

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

Zum Beispiel mit diesem Code kann ich alle "Osnabrück" finden und markieren, aber es werden keine Hugo oder VW hervorgehoben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage