Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wort in einem Text mit 2. Farbe hervorheben

Wort in einem Text mit 2. Farbe hervorheben
20.09.2004 20:33:14
Klaus
Guten Abend Forum,
ich möchte ein gefundenes Wort in einem Text mit einer 2. Farbe hervorheben.
Mit dem folgenden Makro färbe ich z.B. 5 Zeichen ab der 10. Stelle ein:

Sub Suchwort_färben()
Worksheets("Zitate").Range("C8").Characters(Start:=10, Length:=5).Font.ColorIndex = 40
End Sub

Wie kann ich nun den Start- und Length-Bereich variabel gestalten?
Die unteren VBA-Formeln geben mir zwar die richtigen Werte, ich schaffe es aber nicht
sie in mein Makro einzubauen.
Strt = "=FIND(T(SUBSTITUTE(Sammlung!R[-18]C[6],""*"","""")),Zitate!R[-11]C[-1],1)"
Leng = "=LEN(Sammlung!R[-19]C[6])-2"
Beispielarbeitsmappe anbei.
Vielen Dank für Antworten
Klaus
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sorry, die Arbeitsmappe
21.09.2004 06:18:31
GraFri
Hallo
Wenn du den Code so änderst


Sub Suchwort_färben()
' so leider nicht
strt = "=FIND(T(SUBSTITUTE(Sammlung!R[-18]C[6],""*"","""")),Zitate!R[-11]C[-1],1)"
leng = "=LEN(Sammlung!R[-19]C[6])-2"
MsgBox strt & "   " & leng
Worksheets("Zitate").Range("C8").Characters(strt, leng).Font.ColorIndex = 40
End Sub


wirst du bemerken, das die beiden Variablen eine Zeichenfolge und keine Zahl enthalten.
Arbeite mit: Instr() bzw. (len()
Mit freundlichen Grüßen, GraFri
Anzeige
AW: Sorry, die Arbeitsmappe
21.09.2004 09:45:35
Klaus
Hallo GraFri,
vielen Dank für die Antwort,
und wo muss ich jetzt Instr() bzw. (len() in den Code einbringen?
Erhalte immer nur Fehlermeldungen.
(bin leider noch nicht so VBA-geschult ...)
Gruß aus Hamburg
Klaus
AW: Sorry, die Arbeitsmappe
21.09.2004 14:25:48
GraFri
Hallo


Option Explicit
Sub Suchwort_färben()
Dim leng    As Integer
Dim strt    As Integer
Dim TMP     As String
' das zu markierende Wort steht im Tabellenblatt 'Sammlung' Zelle 'J1'
' am Anfang und Ende mit * gekennzeichnet
    With Worksheets("Sammlung").Range("J1")
      leng = Len(.Value) - 2
' gesuchte Wort ohne führendes * und abschließendes *
      TMP = Mid(.Value, 2, leng)
    End With
' Startposition des zu suchenden Wortes
  strt = InStr(Worksheets("Zitate").Range("C8"), TMP)
'einfärben
  Worksheets("Zitate").Range("C8").Characters(strt, leng).Font.ColorIndex = 40
End Sub


Mit freundlichen Grüßen, GraFri
Anzeige
Vielen Dank!
21.09.2004 16:45:04
Klaus
Hallo GraFri
vielen Dank für die Antwort. Funktioniert super!
Liebe Grüße
Klaus
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige