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

Einzelne Worte in unterschiedlichen Farben

Forumthread: Einzelne Worte in unterschiedlichen Farben

Einzelne Worte in unterschiedlichen Farben
14.02.2025 15:25:29
WoxMox
Hallo

Gleich vorweg; habe schon mehrere Lösungsansätze hier aus dem Forum ausprobiert; hat aber keiner wie gewüscht funktioniert.
Deshalb nun ein direkter Versuch.

Folgende Aufgabenstellung:
Excel-Tabelle mit mehreren Tabellenblättern, welche alle gleich formatiert sind und diverse Listen enthalten.

Nun sollen bei mehreren und unterschiedlichen Wörtern innerhalb einer Zelle, diese in unterschiedlichen Schrift-Farben angezeigt werden.
Zum Beispiel:

  • in Tabelle1 / B40 steht in der Zelle der Text "Clear Energy System"

  • in Tabelle5 / C30 steht in der Zelle der Text "Energy Sub System"

  • in Tabelle6 / B20 steht in der Zelle der Text "Clean Water Solution"

  • in Tabelle9 / C10 steht in der Zelle der Text "Guide-System: Water"


  • Nun soll in allen Zellen (also im gesamten Excel-Dokument) das Wort "Water" zB. in der Schriftfarbe Blau und das Wort "Energy" zB. in der Schriftfarbe Gelb angezeigt werden.

    Es gibt natürlich noch andere Worte die in verschiedenen Farben gefärbt werden sollen.
    Aber das erschließt sich ja dann aus der Lösung für die obrigen beiden.

    Also liebe Community; gibt es dafür eine Lösung bzw. ist das in der Form überhaupt möglich?

    Vielen Dank schon mal vorab und hoffentlich habe ich verständlich erklärt worum es mir geht.
    DANKE

    Anzeige

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Schade, keine hochgeladene Arbeitsmappe...
    14.02.2025 15:31:27
    JoWE
    Hallo (ich würde hier Deinen Namen erwähnen wenn ich ihn hätte),
    ... sorry, ich werde mir keine Testmappe erstellen, um dafür dann ein Makro zu bauen,
    Gruß Jochen
    AW: Einzelne Worte in unterschiedlichen Farben
    14.02.2025 15:37:00
    Raimund
    Hi WoxMox

    So mit VBA?

    Sub FormatWorte()
    
    Dim ws As Worksheet
    Dim cell As Range
    Dim word As String
    Dim color As Long

    ' Definiere die Wörter und ihre Farben
    Dim wordsAndColors As Object
    Set wordsAndColors = CreateObject("Scripting.Dictionary")
    wordsAndColors.Add "Water", RGB(0, 0, 255) ' Blau
    wordsAndColors.Add "Energy", RGB(255, 255, 0) ' Gelb
    ' Füge hier weitere Wörter und Farben hinzu

    ' Durchlaufe alle Arbeitsblätter
    For Each ws In ThisWorkbook.Worksheets
    ' Durchlaufe alle Zellen in jedem Arbeitsblatt
    For Each cell In ws.UsedRange
    If Not IsEmpty(cell) Then
    Dim wordKey As Variant
    For Each wordKey In wordsAndColors.Keys
    word = wordKey
    color = wordsAndColors(wordKey)
    ' Suche und formatiere das Wort
    Call FormatWordInCell(cell, word, color)
    Next wordKey
    End If
    Next cell
    Next ws
    End Sub

    Sub FormatWordInCell(cell As Range, word As String, color As Long)
    Dim startPos As Long
    Dim wordLength As Long

    startPos = InStr(1, cell.Value, word, vbTextCompare)
    wordLength = Len(word)

    While startPos > 0
    cell.Characters(startPos, wordLength).Font.Color = color
    startPos = InStr(startPos + wordLength, cell.Value, word, vbTextCompare)
    Wend
    End Sub


    Gruss

    Raimund
    Anzeige
    AW: Einzelne Worte in unterschiedlichen Farben
    14.02.2025 16:12:52
    Raimund
    Hi WoxMox

    Oder automatisch bei Eingabe oder Änderungen

    Der Code sollte im Modul von DieseArbeitsmappe (ThisWorkbook) stehen

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    
    Dim cell As Range
    Dim wordsAndColors As Object
    Set wordsAndColors = CreateObject("Scripting.Dictionary")

    ' Definiere die Wörter und ihre Farben
    wordsAndColors.Add "Water", RGB(0, 0, 255) ' Blau
    wordsAndColors.Add "Energy", RGB(255, 255, 0) ' Gelb
    ' Füge hier weitere Wörter und Farben hinzu

    Application.EnableEvents = False
    On Error GoTo CleanExit

    ' Durchlaufe die geänderten Zellen
    For Each cell In Target
    If Not IsEmpty(cell) Then
    Dim wordKey As Variant
    For Each wordKey In wordsAndColors.Keys
    ' Überprüfen, ob das Wort in der Zelle enthalten ist
    If InStr(1, cell.Value, wordKey, vbTextCompare) > 0 Then
    Call FormatWordInCell(cell, CStr(wordKey), CLng(wordsAndColors(wordKey))) ' Konvertierung
    End If
    Next wordKey
    End If
    Next cell

    CleanExit:
    Application.EnableEvents = True
    End Sub

    Sub FormatWordInCell(cell As Range, word As String, ByVal color As Long)
    Dim startPos As Long
    Dim wordLength As Long

    startPos = InStr(1, cell.Value, word, vbTextCompare)
    wordLength = Len(word)

    While startPos > 0
    cell.Characters(startPos, wordLength).Font.Color = color
    startPos = InStr(startPos + wordLength, cell.Value, word, vbTextCompare)
    Wend
    End Sub


    Gruss

    Raimund
    Anzeige
    Tuschkasten
    14.02.2025 17:45:55
    RPP63
    Moin!
    Excel ist keine Textverarbeitung.
    Was Du vorhast, mag bis zu einem gewissen Grad leidlich funktionieren.
    Du solltest Dich aber nicht wundern, wenn sich Excel ungefragt ins Nirwana verabschiedet.

    Einen Code hast Du ja bereits.
    Berichte doch mal, wie träge das Arbeiten geworden ist.

    Gruß Ralf
    Anzeige
    Alternative
    14.02.2025 17:49:20
    RPP63
    Wenn ich es schön bunt haben wollte, würde ich mittels =SUCHEN("wasser";A1) als Formel in der bedingten Formatierung den gesamten Text (oder den Hintergrund) einfärben.
    Anzeige
    Anzeige
    Live-Forum - Die aktuellen Beiträge
    Datum
    Titel
    14.05.2026 13:31:09
    14.05.2026 09:50:42
    13.05.2026 19:14:18