Bestimmte Wörter innerhalb einer Zelle rot einfärben

Diskutiere und helfe bei Bestimmte Wörter innerhalb einer Zelle rot einfärben im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo zusammen Ich habe folgendes Problem: Ich habe ein Excel, in welchem verschiedene Produkte aufgeführt sind. Eine der Zellen beinhaltet immer die... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Michèle Mattes, 15. Oktober 2018.

  1. Bestimmte Wörter innerhalb einer Zelle rot einfärben


    Hallo zusammen


    Ich habe folgendes Problem: Ich habe ein Excel, in welchem verschiedene Produkte aufgeführt sind. Eine der Zellen beinhaltet immer die Inhaltsstoffe des jeweiligen Produktes (z.B. Wasser, Kartoffeln, Rapsöl, Sonnenblumenöl, Salz, Pfeffer). Nun möchte ich gerne nur bestimmte Inhaltsstoffe (z.B. Wasser, Rapsöl, Salz) rot markieren. Die Inhaltsstoffe, welche markiert werden sollen, habe ich in einem separaten Tabellenblatt, jeweils eine Zelle pro Stoff.

    Wie schaffe ich es nun, dass alle Inhaltsstoffe aus diesem Blatt im anderen Blatt rot markiert werden?


    Vielen Dank für die Hilfe!


    Grüsse

    Michèle
     
  2. Claus Busch Win User

    Bestimmte Wörter innerhalb einer Zelle rot einfärben

    Hallo Michèle,

    ändere einen Teil des Codes so ab:

    With Sheets("Artikelliste")
    
       LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    
       For Each rngC In .Range("D2:D" & LRow)
    
          With rngC
    
             Set matches = re.Execute(rngC)
    
             If matches.Count > 0 Then
    
                For i = 0 To matches.Count - 1
    
                   Start = matches.Item(i).FirstIndex + 1
    
                   Laenge = matches.Item(i).Length
    
                   .Characters(Start, Laenge).Font.Color = vbRed
    
                Next
    
             End If
    
          End With
    
       Next
    Claus
  3. Claus Busch Win User

    Bestimmte Wörter innerhalb einer Zelle rot einfärben

    Hallo Michèle,

    probiere mal diesen Alternativ-Vorschlag:

    Sub WortEinfaerben()
    
    Dim rngC As Range, c As Range
    
    Dim LRow As Long
    
    Dim re, match, matches
    
    Dim ptrn As String, firstaddress As String
    
    Dim varData As Variant
    
    Dim Start As Integer, Laenge As Integer
    Set re = CreateObject("vbscript.regexp")
    
    ptrn = "E\s[0-9]{3}[a-z]{0,1}"
    
    re.Pattern = ptrn
    
    re.Global = True
    With Sheets("E Nr")
    
       LRow = .Cells(.Rows.Count, "B").End(xlUp).Row
    
       varData = .Range("B2:B" & LRow)
    
    End With
    
    With Sheets("Artikelliste")
    
       LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    
       For Each rngC In .Range("D2:D" & LRow)
    
          With rngC
    
             Set matches = re.Execute(rngC)
    
             If matches.Count > 0 Then
    
                For Each match In matches
    
                   .Characters(InStr(rngC, match), Len(match)).Font.Color = vbRed
    
                Next
    
             End If
    
          End With
    
       Next
    
       For i = LBound(varData) To UBound(varData)
    
          Set c = .Range("D2:D" & LRow).Find(varData(i, 1), LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)
    
          If Not c Is Nothing Then
    
             firstaddress = c.Address
    
             Do
    
                Start = InStr(1, c, varData(i, 1), 1)
    
                If Start > 0 Then
    
                   Laenge = Len(varData(i, 1))
    
                   c.Characters(Start, Laenge).Font.Color = vbRed
    
                   Set c = .Range("D2:D" & LRow).FindNext(c)
    
                End If
    
             Loop While c.Address <> firstaddress
    
          End If
    
       Next
    
    End With
    
    End Sub
    Claus
  4. Andreas Killer Win User

    Bestimmte Wörter innerhalb einer Zelle rot einfärben

    Hallo Michèle,

    das ist schon klar, das liegt an der 2ten FOR-Schleife, das Split trennt den String an den Leerstellen auf.

    Data = Split(Data)

    For k = 0 To UBound(Data)

    Key = Data(k)

    If Dict.Exists(Key) Then

    Und daher wird "Data(k)" niemals gefunden wenn dieses aus 2 oder mehreren Wörtern besteht.

    Müsste ich mir mal Gedanken machen, im Prinzip müsste man diese Sonderfälle nochmals extra prüfen mit einem Extra-Dictionary...

    Nun ja, die Hilfe hier im Forum ist ja generell kostenfrei, alles andere müssen wir dann per Mail besprechen, steht im meinem Profil.

    Andreas.
  5. Andreas Killer Win User

    Bestimmte Wörter innerhalb einer Zelle rot einfärben

    Option Explicit
    
    Sub ENummernEinfaerben()
    
      Dim R As Range
    
      Dim Data
    
      Dim i As Long, j As Long
    
      Dim Dict As Object 'Scripting.Dictionary
    
      Dim Key As String
    
      With Worksheets("E Nr")
    
        'Alle E-Nummern
    
        Set R = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    
        'Einlesen
    
        Data = R.Value
    
      End With
    
      'Daraus ein Dictonary erstellen für den schnellen Zugriff
    
      Set Dict = CreateObject("Scripting.Dictionary")
    
      Dict.CompareMode = vbTextCompare
    
      For i = 1 To UBound(Data)
    
        Key = Trim$(Data(i, 1))
    
        If Not Dict.Exists(Key) Then Dict.Add Key, 0
    
      Next
    
      With Worksheets("Artikelliste ")
    
        'Jede Zelle in Spalte D
    
        For Each R In Range("D2", Range("D" & Rows.Count).End(xlUp))
    
          'Einlesen
    
          Data = R.Value
    
          'Suche nach einem "E"
    
          i = InStr(1, Data, "E")
    
          'Gefunden?
    
          Do While i > 0
    
            'Die nächsten gültigen Zeichen scannen
    
            j = i + 1
    
            Key = Trim$("E" & ValidWhile(j, Data, " 0123456789"))
    
            'E-Nummer vorhanden?
    
            If Dict.Exists(Key) Then
    
              'Ja, einfärben
    
              R.Characters(i, Len(Key)).Font.Color = vbRed
    
            End If
    
    Skip:
    
            'Nächstes "E" suchen
    
            i = InStr(j, Data, "E", vbTextCompare)
    
          Loop
    
        Next
    
      End With
    
    End Sub
    
    Private Function ValidWhile(ByRef Start As Long, ByVal s As String, ByVal Delims As String, _
    
        Optional ByVal Compare As VbCompareMethod = vbTextCompare) As String
    
      'Returns the substring of S from Start while a delimiter is found
    
      Dim i As Long
    
      If Start < 1 Then Exit Function
    
      For i = Start To Len(s)
    
        If InStr(1, Delims, Mid$(s, i, 1), Compare) = 0 Then Exit For
    
      Next
    
      ValidWhile = Mid$(s, Start, i - Start)
    
      Start = i
    
    End Function
    
    
  6. Michèle Mattes Win User

    Bestimmte Wörter innerhalb einer Zelle rot einfärben

    Hallo Andreas

    Die Liste ist hier zu finden:

    https://www.dropbox.com/s/ytnrzkp0vmt6ht8/Liste%20Produkte%20Inhaltsstoffe.xls?dl=0

    Ziel ist es, dass alle Wörter, welche im Tab "E Nr" vorkommen, vorne in der Spalte D rot werden.

    Danke für die Hilfe!

    Grüsse

    Michèle
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Bestimmte Wörter innerhalb einer Zelle rot einfärben - Microsoft Office

Die Seite wird geladen...

Bestimmte Wörter innerhalb einer Zelle rot einfärben - Similar Threads - Bestimmte Wörter Zelle

Forum Datum

Excel: wenn Zelle bestimmtes Wort enthält, dann vorgegebene Ausgabe in anderer Zelle.

Excel: wenn Zelle bestimmtes Wort enthält, dann vorgegebene Ausgabe in anderer Zelle.: Hallo, ich stehe vor folgendem Problem. Ich möchte , dass in Spalte F das Wort "IT" ausgegeben wird, wenn Spalte D das Wort "EKG", "Ultraschall" oder "Röntgen" enthält. Wenn keiner dieser Begriffe...
Microsoft Office 24. Januar 2024

Excel - Wörter innerhalb von Zellen zählen

Excel - Wörter innerhalb von Zellen zählen: Meine Daten sind etwa so:A1 - ScifiA2 - Scifi; FantasyA3 - Fantasy; GeschichteIch möchte alles Genres wissen, also Scifi=2, Fantasy=2, Geschichte=1. Mit ZÄHLENWENN wird nur der exakte Inhalt...
Microsoft Office 5. Juli 2023

Zellen nach Inhalt einfärben

Zellen nach Inhalt einfärben: Von diesem Thread trennen.Hallo an die Gemeinde,ich habe in der Zelle E9 folgende Formel hinterlegt=WENNE10>0;"Überschuss";WENNE10<0;"Manko";"Ausgeglichen"Wie muss ich die Formel verändern damit...
Microsoft Office 24. Januar 2022

alle Wörter rot unterstrichen bei TEAMS

alle Wörter rot unterstrichen bei TEAMS: Hallo liebes Team,bei mir werden nun schon seit Wochen alle Wörter bei Teams rot unterstrichen.Bei Outlook etc. ist es nicht der Fall.Die Einstellungen habe ich schon geprüft, Sprache und...
Microsoft Office 8. Oktober 2021

Zelle einfärben in Rot ( wenn der Wert niedrig ist) Gelb (wenn der Wert mittel ist) Rot...

Zelle einfärben in Rot ( wenn der Wert niedrig ist) Gelb (wenn der Wert mittel ist) Rot...: Hey, würde gerne eine Zelle unterschiedlich einfärben, abhängig von der Größe der Zahl. Geht das irgendwie?
Microsoft Office 26. März 2019

Wenn, Dann: Kopieren oder einfärben bei bestimmtem Begriff

Wenn, Dann: Kopieren oder einfärben bei bestimmtem Begriff: Hallo, wir verwenden zusammen einen Kalender. Dort trägt jeder Termine für alle ein. Wenn nun in einem Termin mein Name vorkommt, dann hätte ich gerne dass dieser in einer bestimmten Farbe...
Microsoft Office 6. März 2018

Zellen Einfärben mit WENN Funktion.

Zellen Einfärben mit WENN Funktion.: Hallo Community, mit Folgender Problemstellung komme ich momentan nicht weiter. In der Vergangenheit haben wir einen Prüfplan im OO verwendet. Hierzu habe ich folgende Formel geschrieben:...
Microsoft Office 30. März 2017
Bestimmte Wörter innerhalb einer Zelle rot einfärben solved
  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.