Excel: bedingte Formatierung, wenn die Texte gleich sind, dann Farbe mit übernehmen?
Hallo zusammen,
ich habe zwei Spalten mit denselben Daten aber anderes sortiert. die Zellen der Spalte 1 sind zum Teil mit verschiedenen Farben markiert. Ich möchte in Excel, dass wenn der Text in Spalte 2 mit dem Text Spalte 1 übereinstimmt, wird die Farbe der Spalte 1 (entsprechen Zelle) auf Spalte 2 übertragen. Beispiel:
Spalte 1 Spalte 2
2 (grün) 4
12 2
4 (lila) d
d (rot) 12
also wenn 4 (Spalte 2) in (spalte 1) gefunden ist, wird die Farbe von Spalte 1 (C4) auf Spalte 2 (B2) übertragen. Also sprich wird 4 in der Spalte 2 lila markiert.
hat jemand eine Idee? wäre dankbar
1 Antwort
Hallo,
mit Bordmitteln lässt sich nicht gut auf die Zellfarbe zugreifen. Mit VBA kannst du etwas in dieser Art verwenden:
Sub Farbe_ubernehmen()
Dim lZeiB As Long, lZeiA As Long
Dim b As Long
Dim Wert As Variant
With ActiveSheet
lZeiB = .Range("B" & Rows.Count).End(xlUp).Row
lZeiA = .Range("A" & Rows.Count).End(xlUp).Row
For b = 1 To lZeiB
Wert = .Range("B" & b).Value
Select Case Application.WorksheetFunction.CountIf(.Range("A1:A" & lZeiA), Wert)
Case 0
'nicht in Spalte 1 vorhanden -> Farbe resetten
.Range("B" & b).Interior.Pattern = xlNone
Case 1
'einmal in Spalte 1 vorhanden -> Farbe übernehmen
.Range("B" & b).Interior.Color = .Range("A" & Application.WorksheetFunction.Match(Wert, .Range("A1:A" & lZeiA), 0)).Interior.Color
Case 2
'mehrfach in Spalte 1 vorhanden -> Farbe des ersten Treffers + Hinweis
MsgBox Wert & " ist mehrfach in Spalte 1 vorhanden, die Farbe des ersten Treffers wird übernommen."
.Range("B" & b).Interior.Color = .Range("A" & Application.WorksheetFunction.Match(Wert, .Range("A1:A" & lZeiA), 0)).Interior.Color
End Select
Next b
End With
End Sub