Wörter mit Instr formatieren, Alternative?
01.04.2018 01:48:08
Mr.T
nach langem Suchen muss ich nun doch mal wieder eine Frage stellen. Und zwar habe ich ein Tabellenblatt mit einem Bereich dessen Zellen mit bestimmten Texten gefüllt werden. In diesen stehen unterschiedliche lange Texte in denen aber bestimmte Schlagworte immer eingefärbt oder auch fett geschrieben oder auch unterstrichen werden sollen.
Das Ganze löse ich mit u.g. Code, den ich schon per Suche gefunden und abgewandelt habe. Funktioniert auch soweit, jedoch wird nur jeweils das erste gefundene Wort formatiert. Grund ist denke ich die InStr Funktion, die sich ja nur aufs erste Suchergebnis auswirkt.
Gibt es eine Möglichkeit auch die folgenden Begriffe der Art zu formatieren. Als Beispiel müssten im folgenden Satz also alle Wörter Bereich formatiert werden: Bereich steht in einem Bereich. Der Bereich bla bla bla Bereich.
Könnet man sowas mit einer Schleife bewerkstelligen?
Dim Zelle As Range
Dim Begriffe(3) As String
Dim Farbe(3) As Long
Dim Pos As Long
Dim i As Long
Begriffe(0) = "Bereich"
Begriffe(1) = "Betriebsanleitung"
Begriffe(2) = "geprüft"
Begriffe(3) = "ist verboten"
Farbe(0) = 255
Farbe(1) = 255
Farbe(2) = 65280
Farbe(3) = 255
For Each Zelle In rngZelle2
For i = 0 To UBound(Begriffe)
Pos = InStr(Zelle.Value, Begriffe(i))
If Pos 0 Then
With Zelle.Characters(Start:=Pos, Length:=Len(Begriffe(i))).Font
.Color = Farbe(i)
.FontStyle = "Fett"
.Underline = True
End With
End If
Next
Next
Danke schonmal im Voraus!