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.