Office: automatische Farbe bei bestimmten Worten

Helfe beim Thema automatische Farbe bei bestimmten Worten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen gibt es auch die Möglichkeit bestimmte Wörter Farbig zu makieren wenn die Zeile gefüllt wird und nicht wenn ich das Makro ausführe??? Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JoBo, 23. Oktober 2009.

  1. Legolas84 Neuer User

    automatische Farbe bei bestimmten Worten


    Hallo zusammen

    gibt es auch die Möglichkeit bestimmte Wörter Farbig zu makieren wenn die Zeile gefüllt wird und nicht wenn ich das Makro ausführe???
     
    Legolas84, 29. Oktober 2020
    #16
  2. steve1da Office Guru
    Hola,

    das geht mit der bedingten Formatierung.

    Gruß,
    steve1da
     
    steve1da, 29. Oktober 2020
    #17
  3. Exl121150 Erfahrener User
    Hallo,

    falls du das wirklich so haben möchtest, habe ich dir das Makro angepasst, dass es auf das "SheetChange"-Ereignis der Arbeitsmappe reagiert und die jeweils aktuell eingegebene Textzeile so einfärbt, wie es im benannten Bereich "ListeFarbWörter" definiert ist.

    Falls du diese Eigenheit nicht überall haben möchtest, müsstet du die folgende Callback-Routine für das "SheetChange"-Ereignis entsprechend abändern ( Mit der rot eingefärbten Codezeile wird das Formatierprogramm aufgerufen):
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      
      Dim AppEvents As Boolean
      
      AppEvents = Application.EnableEvents
      
      On Error GoTo Err_ShChange
      Application.EnableEvents = False
    [COLOR="#FF0000"]  Worte_Einfärben Target[/COLOR]
      
    Ende_ShChange:
      Application.EnableEvents = AppEvents
      Exit Sub
      
    Err_ShChange:
      Resume Ende_ShChange
      
    End Sub
    
    
     
    Exl121150, 29. Oktober 2020
    #18
  4. Legolas84 Neuer User

    automatische Farbe bei bestimmten Worten

    Danke für die Schnelle Antwort

    Habe das im Code mal So Aufgebaut

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Dim AppEvents As Boolean

    AppEvents = Application.EnableEvents

    On Error GoTo Err_ShChange
    Application.EnableEvents = False
    Worte_Einfärben Target

    Ende_ShChange:
    Application.EnableEvents = AppEvents
    Exit Sub

    Err_ShChange:
    Resume Ende_ShChange

    End Sub

    Option Explicit

    'Microsoft VBScript Regular Expressions 5.5 (C:\Windows\SysWOW64\vbscript.dll\3)
    Private RgEx As Object

    Public Sub Worte_Einfärben()
    Dim Zelle As Range, FarbWorte As Range, FarbWort As Range
    Dim Wort$, Farbe&

    Set RgEx = CreateObject("VBSCript.RegExp")
    Set FarbWorte = Range("ListeFarbWörter")

    For Each Zelle In Selection.Cells
    For Each FarbWort In FarbWorte.Cells
    Wort$ = FarbWort.Value
    Farbe& = FarbWort.Font.Color
    Zelle_WörterFärben_RegExpr Zelle, Wort$, Farbe&
    Next FarbWort
    Next Zelle

    End Sub

    Private Sub Zelle_WörterFärben_RegExpr(Zelle As Range, TxtMatch$, Farbe&)
    Dim Mtch As Object
    With RgEx '
    .Global = True 'alle Matches ermitteln, nicht bloß den ersten
    .Pattern = TxtMatch$ 'Match-Muster
    .IgnoreCase = True 'Groß/Kleinschreibung nicht beachten
    For Each Mtch In .Execute(Zelle.Value)
    With Zelle.Characters(Start:=Mtch.FirstIndex + 1, Length:=Mtch.Length).Font
    ' .Name = "Arial"
    ' .FontStyle = "Standard"
    ' .Size = 11
    ' .Strikethrough = False
    ' .Superscript = False
    ' .Subscript = False
    ' .OutlineFont = False
    ' .Shadow = False
    ' .Underline = xlUnderlineStyleNone
    .Color = Farbe&
    ' .TintAndShade = 0
    ' .ThemeFont = xlThemeFontNone
    End With
    Next Mtch
    End With
    End Sub

    Allerdings gibt es dann eine Fehlermeldung

    Fehler beim Kompilieren
    Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft

    Gruß Legolas
     
    Legolas84, 30. Oktober 2020
    #19
  5. Exl121150 Erfahrener User
    Hallo,

    wenn du genau nachgesehen hättest, wo die Fehlermeldung entsteht, hättest du sehen müssen, dass der Fehler genau in der von mir im letzten Posting rot eingefärbten Zeile entsteht:
    Code:
      Worte_Einfärben Target
    
    Das liegt daran, dass ich, um deine Wünsche zu erfüllen, diese SUB namens "Wort_Einfärben" leicht abändern musste, indem ich ihr den Parameter "Target" mit übergab, den sie in meinem Makro von Anno Schnee nicht hatte - deshalb die Fehlermeldung von der falschen Anzahl von Parametern.

    Im Folgenden nochmals das Makro, das sich gegenüber dem 03.05.2019 geändert hat (blau: die geänderten Stellen):
    Code:
    Public Sub Worte_Einfärben([COLOR="#0000CD"][B]rgBereich As Range[/B][/COLOR])
      Dim Zelle As Range, FarbWorte As Range, FarbWort As Range
      Dim Wort$, Farbe&
      
      Set RgEx = CreateObject("VBSCript.RegExp")
      Set FarbWorte = Range("ListeFarbWörter")    '<-- Zellbereich für Pattern-Matching
      
      For Each Zelle In [COLOR="#0000CD"][B]rgBereich[/B][/COLOR].Cells
          For Each FarbWort In FarbWorte.Cells
            If Len(FarbWort) Then
              Wort$ = FarbWort.Value
              Farbe& = FarbWort.Font.Color
              Zelle_WörterFärben_RegExpr Zelle, Wort$, Farbe&
            End If
          Next FarbWort
      Next Zelle
      Set RgEx = Nothing
    End Sub
    Du musst dich nur bereit erklären, meine Datei vom 29.10.2020 (Posting #18) vollständig zu verwenden - dann funktioniert sie auch. Schließlich habe ich sie damals auch getestet und hochgeladen, damit es keine Probleme geben kann.
     
    Exl121150, 2. November 2020
    #20
  6. Legolas84 Neuer User
    Leider Bekomme ich das nicht hin

    kenne mich mit den codes auch nicht so aus habe immer nur gesucht im netz eingepflegt und es hat geklappt .

    auf meinen Post #15 bekam ich eine Antwort #18 .
    Diesen Code Pflegte ich in die Arbeitsmappe ein Legte mir für die ListFarbWörter eine neues Tabellenblatt an
    doch leider Funktionierte dieses auch nicht .

    habe dann im #20 beschrieben bekommen was ich falsch gemacht habe bekomme es trotzdem nicht hin.

    Habe die Codes eingetragen und trotz dem richtigem Wort bleibt die farbe schwarz und nicht wie in den ListFarbWörter hinterlegt.

    Was mache ich nu???
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Legolas84, 4. November 2020
    #21
  7. Exl121150 Erfahrener User
    Hallo,

    da du mir nur schreibst, dass irgendetwas nicht funktioniert hat (beim Einfärben), bin ich damit ziemlich uninformiert, weil ich nicht weiß, woran es hapert.
    Ich nehme an, dass du meine 5 Testsätze, die in meiner Originaldatei in den Zelle A3,A4 und A8,A9,A10 enthalten sind, erfolgreich ausprobiert hast.
    Falls du sie noch nicht ausprobiert hast, diese 5 Zellen auf "Automatische" Schriftfarbe setzen, sodass sie daraufhin folgenden schwarzen Text enthalten:

    Franz jagt im komplett verwahrlosten Taxi
    verquer durch Münchenzentrum, Münchenrand und Hamburg.


    Hier in Wien und Linz würden wir das alles bereits verquer gelöst haben.
    Aber auch in Liberia ist die Losung nicht anders.
    Die Sätze werden so formatiert, wie im benannten Bereich "ListeFarbwörter" festgelegt.


    Im Zellbereich A15:A18 befindet sich der benannte Bereich "ListeFarbWörter" mit folgenden Inhalten:
    ^.*?\w*ü\w*.*?$
    ^.*?\w*los\w*.*?$
    \w*quer\w*
    (Li|Wi)\w*

    Wenn du jetzt die aktive Zelle in die Zelle A3 stellst, wird der Inhalt dieser Zelle auch in der Formeleditierzeile angezeigt. Du stellst daraufhin den Eingabe-Cursor an das Ende dieser Textzeile ("Franz jagt im komplett verwahrlosten Taxi"), drückst die EINGABE-Taste, sodass quasi dieser Text wieder neu in die Zelle A3 eingefügt wird, so muss sich der Text blau umfärben, wie folgt:
    Franz jagt im komplett verwahrlosten Taxi
    Dasselbe machst du auch mit Zelle A4 bzw. mit den Zellen A8, A9, A10.

    Alle 5 Textzeilen haben dann hinterher folgendes Aussehen:
    Franz jagt im komplett verwahrlosten Taxi
    verquer durch Münchenzentrum, Münchenrand und Hamburg.

    Hier in Wien und Linz würden wir das alles bereits verquer gelöst haben.
    Aber auch in Liberia ist die Losung nicht anders.
    Die Sätze werden so formatiert, wie im benannten Bereich "ListeFarbwörter" festgelegt.


    Die Funktionsweise der 4 färbigen Pattern-Matching-Codes im Bereich "ListeFarbWörter" ist folgende:
    1. Sie werden der Reihe nach auf jede einzelne Textzeile angewandt.
    2. Die ersten beiden Codes (grün bzw. blau) haben je 2 Ankerzeichen: das erste "^" bedeutet Zeilenanfang, "$" bedeutet Zeilenende: Der Text der betreffenden ganzen Zeile wird nur dann entsprechend eingefärbt (grün / blau), wenn das Muster zwischen diesen beiden Ankerzeichen auf die ganze Zeile zutrifft.
      Das Muster der grünen Zeile bedeutet, ist irgendwo in der Zeile ein "ü" enthalten, wird der Text der ganzen Zeile grün eingefärbt.
      Das Muster der blauen Zeile beduetet, ist irgendwo in der Zeile die Zeichenfolge "los" enthalten, wird der Text der ganze Zeile blau eingefärbt.
    3. Die gelbe bzw. rote Match-Code-Zeile habe diese Ankerzeichen nicht. Sie färben einzelne Wörter(bestandteile) entsprechend ein:
      Die gelbe MatchCode-Zeile bedeutet, färbe dasjenige Wort, in dem der Bestandteil "quer" gefunden wird, zur Gänze gelb ein: Deshalb haben die beiden Wörter "verquer" eine gelbe Färbung.
      Die rote MatchCode-Zeile bedeutet, färbe alle Wörter, die entweder mit "Li" oder "Wi" beginnen, vom Wortanfang bis zum ersten Zeichen, das nicht in Wörtern vorkommt, rot ein. Da das " "-Zeichen und auch das "ö"-Zeichen nicht als Buchstabenzeichen (=Zeichen in Wörtern) gelten, werden Wörter wie "Wien", "Linz", "wir", "Liberia", "wie" und Wortteile wie "ListeFarbw" rot gefärbt.
    Falls die vorhin beschriebene Vorgangsweise bei dir keinen Erfolg haben sollte, müsstest du mir deine Datei hier hochladen, damit ich sie mir ansehen kann.
    Die Dateiinhalte können natürlich auch anonymisiert sein, falls nötig, jedoch müssen all die Elemente enthalten sein, sodass ich sinnvollerweise eine Korrektur durchführen kann. Zum Hochladen den Button "Erweitert" rechts unterhalb des Editorfensters verwenden und anschließend den Button "Anhänge verwalten".
     
    Exl121150, 4. November 2020
    #22
  8. Legolas84 Neuer User

    automatische Farbe bei bestimmten Worten

    Danke für die super Antworten habe total auf dem Schlau gestanden

    Habe alle Sub versucht in die Arbeitsmappe einzubringen.

    Nachdem ich mir deine Exeltabelledatei genauer angeschaut haben habe ich gesehen das die Option in ein Modul muss habe das jetzt so eingebaut und funktioniert alles reibungslos

    Recht Herzlichen Danke nochmal für die Geduld ;-)

    Gruß Legolas
     
    Legolas84, 5. November 2020
    #23
Thema:

automatische Farbe bei bestimmten Worten

Die Seite wird geladen...
  1. automatische Farbe bei bestimmten Worten - Similar Threads - automatische Farbe bestimmten

  2. Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit ...

    in Microsoft Outlook Tutorials
    Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit ...: Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit vom Absender, dem Betreff oder den Empfängern Outlook für Microsoft 365 Outlook 2019...
  3. Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit ...

    in Microsoft Outlook Tutorials
    Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit ...: Automatisches Ändern der Farben und Schriftarten bei eingehenden Nachrichten in Abhängigkeit vom Absender, dem Betreff oder den Empfängern Outlook für Microsoft 365 Outlook 2019...
  4. Kreisdiagramm-Farben automatisch ändern

    in Microsoft Excel Hilfe
    Kreisdiagramm-Farben automatisch ändern: Hallo Community, nachdem ich bisher als Besucher alle meine Probleme gelöst bekommen habe, mir zu diesem Thema aber den Ast abgesucht/versucht habe, muss ich nun doch selbst mal fragen......
  5. Excel Tabelle Farben Automatisch ändern

    in Microsoft Excel Hilfe
    Excel Tabelle Farben Automatisch ändern: Hallo, also vorab erstmal ich habe wenig Erfahrung mit Excel und könnte etwas Hilfe gebrauchen. Es geht um folgendes. Ich habe eine tabelle mit Zwei Spalten[ATTACH]. Die Tabelle soll...
  6. bei Eingabe eines best. Wertes soll das Feld automatisch Farbe ändern??

    in Microsoft Excel Hilfe
    bei Eingabe eines best. Wertes soll das Feld automatisch Farbe ändern??: Hallo zusammen, gibt es in Excel die Möglichkeit, dass wenn ich etwas bestimmtes in eine Tabelle eintrage, dieses Feld automatisch eingefärbt wird? Wir haben eine riesen Tabelle mit immer...
  7. Form mit Makro automatisch mit Farbe füllen

    in Microsoft Excel Hilfe
    Form mit Makro automatisch mit Farbe füllen: Hallo, habe folgendes Problem... Ich habe eine Form, z.B. "Oval 47". Diese möchte ich durch Anklicken blau füllen. Durch nochmaliges Anklicken soll die Form dann wieder weiß werden. Habe es...
  8. Text bei bestimmten Bedingungen automatisch färben

    in Microsoft Excel Hilfe
    Text bei bestimmten Bedingungen automatisch färben: Hallo Gemeinde, also meine Frage bezieht sich auf folgendes Problem. Ich habe eine Art Kalender (alle Datumsangaben untereinander) Ich möchte, dass ich eine Art "Wenn/Dann- Funktion" habe in...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden