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

Drei Buchstaben im Zellbereich färben

Drei Buchstaben im Zellbereich färben
06.02.2021 11:51:39
Dieter(Drummer)
Guten Tag VBA Spezialisten-/innen.
In der Musterdatei (anbei) sind Zellen mit Farben hinterlegt und per Makro wird neben den Farbzellen der Farbwert und der RGB Wert angezeigt. Das funktioniert: https://www.herber.de/bbs/user/143661.xlsm
Nun mein Problem:
In Spalte I (5:60), steht z.B. R 000 / G 000 / B 000, R 255 / G 255 / B 255, R 255 / G 0 / B 0 ...
Per Klick auf roten Knopf werden die Buchstaben R (rot), G (grün) und B (blau) und Schriftyp fett gefärbt.
Das geht nur bedingt, da die 3 Buchstaben innerhalb der Zellen an unterschiedlicher Stelle stehen.
Wie muss der Code lauten, damit nur die 3 Buchstaben im angebenen Bereich entsprechend gefärbt werden?
Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Code in Modul3
  • 
    Sub FarbeRGB()
    Range("I5:I59").Select
    ActiveCell.FormulaR1C1 = "R 0 / G 0 / B 0"
    With ActiveCell.Characters(Start:=1, Length:=1).Font
    .Color = -16776961 'Rot
    .Font.Bold = True
    End With
    With ActiveCell.Characters(Start:=7, Length:=1).Font
    .Color = -16738048 'Grün
    .Font.Bold = True
    End With
    With ActiveCell.Characters(Start:=13, Length:=1).Font
    .Color = -65536 'Blau
    .Font.Bold = True
    End With
    Range("A3").Select
    End Sub
    


  • 7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Eigentlich gibt es ja keine dummen Fragen, ...
    06.02.2021 12:24:25
    lupo1
    ... aber eigentlich sollte Dir doch bekannt sein, dass man die Positionen 1 7 13 dafür variabel macht (von Variablen hast Du gehört) und deren Inhalt mit Funktionen ermittelt (SEARCH oder SUCHEN z.B.).
    AW: Eigentlich gibt es ja keine dummen Fragen, ...
    06.02.2021 12:57:11
    Dieter(Drummer)
    Hallo lupo1.
    Ich halte meine Frage nicht für dumm! Ich bin halt kein Spezialist und an welcher Positionen die Buchstaben stehen, war mir auch klar. Dies aber mit search etc. umzusetzen, da fehlte mir halt die Perfektion.
    Dennoch Dankle für Antwort und Nepumuk hat eine perfekte Lösung angeboten.
    Gruß, Dieter(Drummer)
    AW: Drei Buchstaben im Zellbereich färben
    06.02.2021 12:29:47
    Nepumuk
    Hallo Dieter,
    teste mal:
    Public Sub Buchstabe_Farbe_Fett()
        Dim lngRow As Long, lngIndex As Long
        For lngRow = 5 To Cells(Rows.Count, 9).End(xlUp).Row
            With Cells(lngRow, 9)
                For lngIndex = 1 To .Characters.Count
                    Select Case .Characters(Start:=lngIndex, Length:=1).Text
                        Case "R"
                            With .Characters(Start:=lngIndex, Length:=1).Font
                                .Bold = True
                                .Color = vbRed
                            End With
                        Case "G"
                            With .Characters(Start:=lngIndex, Length:=1).Font
                                .Bold = True
                                .Color = vbGreen
                            End With
                        Case "B"
                            With .Characters(Start:=lngIndex, Length:=1).Font
                                .Bold = True
                                .Color = vbBlue
                            End With
                    End Select
                Next
            End With
        Next
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Danke Nepumuk, es funktioniert wie ...
    06.02.2021 12:59:10
    Dieter(Drummer)
    ... gewünscht und ich werde mir deinen Code genau ansehen.
    Gruß, Dieter(Drummer)
    oder auch so
    06.02.2021 12:56:30
    Werner
    Hallo,
    Sub Farbwerte()
    Dim i As Long
    Application.ScreenUpdating = False
    For i = 5 To Cells(Rows.Count, "I").End(xlUp).Row
    With Cells(i, "I").Characters(Start:=WorksheetFunction.Find("R", Cells(i, "I")), _
    Length:=1).Font
    .Color = -16776961 'Rot
    .Bold = True
    End With
    With Cells(i, "I").Characters(Start:=WorksheetFunction.Find("G", Cells(i, "I")), _
    Length:=1).Font
    .Color = -16738048 'Grün
    .Bold = True
    End With
    With Cells(i, "I").Characters(Start:=WorksheetFunction.Find("B", Cells(i, "I")), _
    Length:=1).Font
    .Color = -65536 'Blau
    .Bold = True
    End With
    Next i
    End Sub
    
    Gruß Werner
    Anzeige
    AW: Danke Werner, auch dein Code funktionert ...
    06.02.2021 13:02:16
    Dieter(Drummer)
    ... perfekt! Werde mir auch deinen Code mir genau ansehen.
    Gruß, Dieter(Drummer)
    Gerne u. Danke für die Rückmeldung. o.w.T.
    06.02.2021 13:07:31
    Werner

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige