Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1568to1572
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

Schriftfarbe für Textteil über Dialogs(26)

Schriftfarbe für Textteil über Dialogs(26)
15.07.2017 10:44:44
Dieter(Drummer)
Guten Tag VBA Spezialisten,
das Makro von Toni funtioniert perfekt. Ich suche noch die Möglichkeit, dass ich den Rest-Textteil z.B. mit "Application.Dialogs(26)", Farbe für Schrift, wählen kann.
Der Dialog wird wohl aufgerufen, aber die gewählte Schriftfarbe wird nicht genutzt.
Was ist da falsch im Makro oder fehlt dort?
Mit der Bitte um Hilfe grüßt
Dieter(Drummer)
'Herber: von Tino am 14.07.2017 18:52:46
Sub TextTeilFarbe()
Dim rng As Range, sInput$
Dim nVon&, nBis&
sInput = InputBox("Text Eingeben")
For Each rng In Selection
'rng.Font.Color = RGB(0, 0, 255) 'Von Toni ok.
    rng = Application.Dialogs(26).Show 'Font: Hier soll die Schriftfarbe angegeben werden _
nVon = InStr(rng.Value, sInput)
If nVon > 0 Then
nBis = Len(sInput)
rng.Characters(Start:=nVon, Length:=nBis).Font.ColorIndex = xlAutomatic
End If
Next
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe für Textteil über Dialogs(26)
15.07.2017 15:22:08
Tino
Hallo,
vielleicht so, jetzt auch mehrfach vorkommen.
PS: Tino nicht Toni
Sub Farben()
Dim rng As Range, sInput$
Dim nVon&, nBis&, lngFarbe&
sInput = InputBox("Text Eingeben")
lngFarbe = ColorFromPallet
For Each rng In Selection
rng.Font.Color = lngFarbe
nVon = InStr(rng.Value, sInput)
Do
If nVon > 0 Then
nBis = Len(sInput)
rng.Characters(Start:=nVon, Length:=nBis).Font.ColorIndex = xlAutomatic
nVon = nVon + nBis
nVon = InStr(nVon, rng.Value, sInput)
End If
Loop While nVon > 0
Next
End Sub
Function ColorFromPallet(Optional lOldCol As Double = xlNone) As Long
Dim dSavCol As Long, dNewCol As Long
Dim iRGB_R As Integer, iRGB_G As Integer, iRGB_B As Integer
dSavCol = ActiveWorkbook.Colors(32)
If lOldCol = xlNone Then
ColIx2RGB 13160660, iRGB_R, iRGB_G, iRGB_B
Else
ColIx2RGB lOldCol, iRGB_R, iRGB_G, iRGB_B
End If
If Application.Dialogs(xlDialogEditColor).Show _
(32, iRGB_R, iRGB_G, iRGB_B) Then
ColorFromPallet = ActiveWorkbook.Colors(32)
ActiveWorkbook.Colors(32) = dSavCol
Else
ColorFromPallet = lOldCol
End If
End Function
Sub ColIx2RGB(ByVal lCol As Long, _
iR As Integer, iG As Integer, iB As Integer)
iR = lCol Mod 256:  lCol = lCol \ 256
iG = lCol Mod 256:  lCol = lCol \ 256
iB = lCol Mod 256
End Sub

Gruß Tino
Anzeige
AW: Schriftfarbe für Textteil über Dialogs(26)
15.07.2017 15:36:08
Dieter(Drummer)
Herzlichen Dank Tino und Sorry für "Toni".
Da hast du ja eine prima Erweiterung geschaffen, die excellent funktioniert.
Danke nochmal für deine erneute, erweiterte Lösung.
Wünsche dir ein schönes Wochenende.
Gruß, Dieter(Drummer)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige