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

Wörter in einer Zelle versch. Farbe

Wörter in einer Zelle versch. Farbe
06.07.2022 14:52:01
Sabina
Hallo zusammen,
ich hoffe ihr könnt mir hier helfen oder mich auch in die richtige Richtung lenken.
In einer Zelle stehen mehrere Begriffe die durch ein Komma getrennt werden (z.B. blau, gelb, grün).
Diese Begriffe sollen einzeln abgeglichen werden mit den einzeln gelisteten Begriffen in Spalte B.
Ist dieser Abgleich erfolgt soll daraufhin gerprüft werden ob der Status des Begriffes in Spalte A "Completed" ist oder nicht.
Wenn der Status des Begriffes "Completed" ist, dann soll dieser Begriff in Grün, in der Zelle mit den mehreren gelisteten Begriffen, eingefärbt werden.
Wenn irgendein anderer Status dann den Begriff rot färben.
Ziel ist es auf einen Blick mit Farbcode zu sehen ob alle Begriffe "completed" und grün sind oder ob da noch der ein oder andere in rot dabei ist.
Leider scheint das per Formel nicht möglich zu sein und geht nur via VBA - wovon ich leider nicht so viel verstehe - ich probiere mich Stück für Stück daran.
Man müsste jedenfalls die Begriffe in der einen Zelle aufsplitten, so dass in jeder Spalte dahinter ausgeblendet ein Begriff steht, diesen dann einzeln abgleichen und den Status prüfen, und anschließend die Begriffe wieder zusammen führen - MIT der jeweiligen farblichen Formatierung.
Oder gibt es sonst noch Vorschläge wie das machbar wäre?
Vielen Dank für eure Unterstützung.
Sabina
Test Liste hab ich hier hochgeladen.
https://www.herber.de/bbs/user/154018.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wörter in einer Zelle versch. Farbe
06.07.2022 15:05:55
UweD
Es wäre gut, wenn du ein zweites Blatt zeigen würdest, mit einer händisch vorbereiteten Wunschvorstellung.
AW: Wörter in einer Zelle versch. Farbe
06.07.2022 17:00:12
Sabina
Hallo UweD,
vielen Dank für den Hinweis. Ich habe die Liste nochmal angepasst und manuell mal die Texte eingefärbt welche in Spalte A "Completed" stehen haben.
In einer perfekten Welt würde das in etwa so aussehen und sich dann natürlich dynamisch anpassen sobald das Kriterium/Status auf "Completed" gesetzt wurde.
https://www.herber.de/bbs/user/154028.xlsx
Hallo Werner,
leider wird es keine Zelle geben in welcher 1:1 nur einer der Begriffe vorkommt.
Über eine bedingte Formatierung ist das Ergebnis leider auch nicht so toll, da immer die ganze Zelle (alle Begriffe) eingefärbt werden.
Kann daher nicht ganz darstellen in welchen Bereichen alle Komponenten "erfüllt" sind und in welchen Bereichen noch das Ein oder Andere fehlt um abzuschließen.
Vielen Dank und Grüße
Sabina
Anzeige
AW: dann neuer Vorschlag ...
07.07.2022 08:29:44
neopa
Hallo Sabina,
... wie ich schon schrieb, ist das was Du anstrebst, standardmäßig nicht zu realisieren. Mit VBA zwar sicherlich, aber damit beschäftige ich mich nicht und Du hast auch angegeben: VBA nein.
Mein neuer Vorschlag: Mit der Power Query (PQ)-Funktionalität von Excel (im Menü Daten) würde ich die Datenspalten trennen dies in eine Ergebnistabelle übergeben und dort mit bedingter Formatierung die grünen Texte erzeugen und zuvor alle Texte standardmäßig rot färben. Bei neuen, geänderten Daten musst Du lediglich ein Aktualisierungsicon oder eine entsprechende Tastenkombination betätigen. Siehe mal: hier: https://www.herber.de/bbs/user/154034.xlsx
Vielleicht wäre das ja eine Option für Dich.
Gruß Werner
.. , - ...
Anzeige
AW: Wörter in einer Zelle versch. Farbe
07.07.2022 09:43:35
UweD
Hallo
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code rechts einfügen
- Bei Änderungen in Spalte A wird das Makro ausgelöst
- Zuerst wird alles auf rot gestellt und dann die Completed auf Grün

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sp As Integer, RNG As Range, Z1 As Integer, Z As Integer, LR As Integer
Dim FG, FR, SW As String, Krit As String
Dim P1 As Integer, C As Range, firstAddress As String
'#### Anpassen
Sp = 1 'Spalte A
Z1 = 2 'Erste Datenzeile
Set RNG = Range("C:F") 'Färbebereich
FR = -16776961 'Rot
FG = -11489280 'Grün
Krit = "Completed"
'### Ende anpassen
If Not Intersect(Target, Columns(Sp)) Is Nothing Then
If Target.Row >= Z1 Then
'sind überhaupt Einträge vorhanden?
If WorksheetFunction.CountA(RNG) = 0 Then
Exit Sub
End If
LR = Cells(Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
'Nur Zellen mit Text (ohne Überschrift)
Set RNG = Intersect(RNG, Rows(Z1).Resize(LR - Z1 + 1)).SpecialCells(xlCellTypeConstants, 2)
'Reset auf Rot
RNG.Font.Color = FR
For Z = Z1 To LR
With Cells(Z, Sp)
If .Value = Krit Then
SW = .Offset(0, 1) 'Suchwort
Set C = RNG.Find(SW, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
P1 = InStr(C, SW) 'Startposition vom Suchwort
'Suchwort grün färben
C.Characters(Start:=P1, Length:=Len(SW)).Font.Color = FG
'Komma schwarz
If Mid(C, P1 + Len(SW), 1) = "," Then
C.Characters(Start:=P1 + Len(SW), Length:=1).Font.ColorIndex = xlAutomatic
End If
Set C = RNG.FindNext(C) 'Suche weiter
Loop While Not C Is Nothing And C.Address  firstAddress
End If
End If
End With
Next
End If
End If
End Sub
LG UweD
Anzeige
AW: Wörter in einer Zelle versch. Farbe
07.07.2022 10:46:42
Wurthberg
Hallo Uwe
Tolle Lösung!
Grüsse Niclaus
AW: wie Du Dir schon gedacht hast ...
06.07.2022 15:12:31
neopa
Hallo Sabina,
... geht das standardmäßig nicht zu realisieren. Aber warum überhaupt so kompliziert? Ich würde vorschlagen eine 3. Farbe (z.B. gelb) einzuführen, für die Textwerte, wo der Begriff aus Spalte B vorkommt (so z.B. in E4) aber noch weitere Texte stehen stehen. Und nur die Werte grün einfärben, die 1:1 vorhanden sind (z.B. C2) und alle anderen rot (so. z.B. C4) .
Gruß Werner
.. , - ...

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige