AW: Bestimmten Text in Zeile mit Hintergrundfarbe
29.10.2016 09:17:50
Dieter(Drummer)
Hallo Werner,
wenn du einen Teil eines Textes einfärben möchtest (in aktiver Zelle), geht dieser Code aus dem Forum (in ein Modul):
'Herber: von Christian am 27.06.2016 20:32:12
'Wort einfärben nur in Verbindung mit
Sub WortEinfaerben
Sub Dialog_Einfaerben()
Application.Speech.Speak ("Es kann ein Wort, ein Zeichen oder eine Zahl rot markiert werden" _
)
Dim Antw As String
Dim txt1 As String, txt2 As String
txt1 = "Wort, Zeichen oder Zahl im gesamten Blatt suchen und markieren (rot)?"
txt2 = "Wort, Zeichen oder Zahl in Zellauswahl suchen und rot markieren (rot)?"
Antw = MsgBox(txt1, vbYesNoCancel, "Rot markieren")
If Antw = vbYes Then
WortEinfaerben ("ganzesBlatt")
ElseIf Antw = vbNo Then
Antw = MsgBox(txt2, vbYesNo, "Rot markieren")
If Antw = vbYes Then
WortEinfaerben ("nurAuswahl")
Else
Exit Sub
End If
Else
Exit Sub
End If
End Sub
'Herber: von Christian am 27.06.2016 20:32:12
'Mx: Wort einfärben. Aufruf geht nur über
Sub Dialog
Sub WortEinfaerben(ByRef strAntw As String)
Dim rngZelle As Range
Dim intPosition As Integer
Dim strWort As String
'Dim Antw As String
Dim blSel As Boolean
blSel = False
strWort = InputBox("Welches Wort soll eingefärbt werden!", "Wort einfärben")
If strWort "False" And strWort "" Then
' im ganzen blatt Suchen
If strAntw = "ganzesBlatt" Then
blSel = True
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Select
End If
For Each rngZelle In Selection.Cells
intPosition = InStr(1, rngZelle, strWort)
If intPosition 0 Then
With rngZelle.Characters(intPosition, Len(strWort))
If blSel = True Then
.Font.Color = RGB(255, 0, 0)
Else
.Font.Color = vbRed 'RGB(255, 0, 0)
End If
End With
End If
Next
ActiveSheet.Cells(1, 1).Select
End If
End Sub
Gruß, Dieter(Drummer)