Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wörter mit Instr formatieren, Alternative?

Wörter mit Instr formatieren, Alternative?
01.04.2018 01:48:08
Mr.T
Hallo,
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!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wörter mit Instr formatieren, Alternative?
01.04.2018 07:18:19
Hajo_Zi
InStr hat auch eine Startposition für das suchen.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Wörter mit Instr formatieren, Alternative?
01.04.2018 10:18:14
Sepp
Hallo ?,
Modul Modul1
Option Explicit 
 
 
Sub test() 
  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 = 0 
      Do 
        Pos = InStr(Pos + 1, 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 
      Loop While Pos > 0 
    Next 
  Next 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Gruß Sepp

Anzeige
AW: Wörter mit Instr formatieren, Alternative?
01.04.2018 13:07:45
Mr.T
Danke Sepp, das funktioniert einwandfrei! :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige