Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

VBA Code erweitern

VBA Code erweitern
juewo
Hallo Leute,
ich habe folgenden Code in Verwendung, um ein Wort farbig zu kennzeichnen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Sucht in einer Zelle ein Wort und färtb dieses Rot ein
'Hinweis : Das funktioniert nur mit festen Texten, nicht mit
'Ergebnissen aus Funktionen !
'25.08.2010, NoNet - www.excelei.de
Dim strWort As String, lngZ As Long, rngZelle As Range
Set rngZelle = Range("D2:I22") 'In Zelle A30 soll das Wort gesucht werden
strWort = "Test" 'Das Wort, das Rot eingefärtb werden soll
For Each Rng In rngZelle
If InStr(Rng, strWort) Then
lngZ = InStr(Rng, strWort)
Rng.Characters(Start:=lngZ, Length:=Len(strWort)).Font.Color = vbRed
End If
Next
End Sub
---------------------------------------------------------------------------------------------------------------------------------
Wie muß der Code gestaltet werden, wenn ich ein 2. Wort, z.B. "Heute" blau geschrieben haben möchte?
Geht das in dem einen Code oder muß dafür ein 2. hinterher kommen?
Viele Grüße vorab
Jürgen

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

Betreff
Benutzer
Anzeige
AW: VBA Code erweitern
02.09.2011 10:27:28
ransi
HAllo
Ungetestet:
Versuch mal:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Sucht in einer Zelle ein Wort und färtb dieses Rot ein
'Hinweis : Das funktioniert nur mit festen Texten, nicht mit
'Ergebnissen aus Funktionen !
'25.08.2010, NoNet - www.excelei.de
Dim strWort As String, strWort2 as string,lngZ As Long, rngZelle As Range
Set rngZelle = Range("D2:I22") 'In Zelle A30 soll das Wort gesucht werden
strWort = "Test" 'Das Wort, das Rot eingefärtb werden soll
strWort2="ABC" 'Das Wort, das Rot eingefärtb werden soll
For Each Rng In rngZelle
If InStr(Rng, strWort) Then
lngZ = InStr(Rng, strWort)
Rng.Characters(Start:=lngZ, Length:=Len(strWort)).Font.Color = vbRed
End If
If InStr(Rng, strWort2) Then
lngZ = InStr(Rng, strWort2)
Rng.Characters(Start:=lngZ, Length:=Len(strWort2)).Font.Color = vbblue
End If
Next
End Sub

ransi
Anzeige
AW: VBA Code erweitern
02.09.2011 10:32:28
juewo
Klappt perfekt - Danke
AW: VBA Code erweitern
02.09.2011 10:53:45
mäxl
hi

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Sucht in einer Zelle ein Wort und färtb dieses Rot ein
'Hinweis : Das funktioniert nur mit festen Texten, nicht mit
'Ergebnissen aus Funktionen !
'25.08.2010, NoNet - www.excelei.de
'02.09.2011, reingepfuscht von Mäxl
Dim strWort() As Variant, lngZ As Long, rngZelle As Range
Set rngZelle = Range("D2:I22") 'In Zelle A30 soll das Wort gesucht werden
strWort() = Array("Test", vbRed, "Heute", vbBlue)
For Each Rng In rngZelle
For IntI = 0 To 1
If InStr(Rng, strWort(IntI * 2)) Then
lngZ = InStr(Rng, strWort(IntI * 2))
Rng.Characters(Start:=lngZ, Length:=Len(strWort(IntI * 2))).Font.Color =  _
strWort(IntI * 2 + 1)
End If
Next
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige