Duplikate in Spalte markieren - unterschiedliche Duplikate in unterschiedlichen Farben (VBA Excel 2007)
Guten Tag zusammen!
Ich bitte um Hilfe bei folgender Fragestellung:
Eine Lösung zum farblichen Markieren von Duplikaten in einer Spalte (z.B. C) in z.B. rot ist beispielsweise:
Ich möchte jedoch unterschiedliche Duplikate in unterschiedlichen Farben markieren, wie z.B.
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001981
PAT-001982 -> gelb
PAT-001982 -> gelb
Vielen Dank im Voraus!
Fusselfrei
Ich bitte um Hilfe bei folgender Fragestellung:
Eine Lösung zum farblichen Markieren von Duplikaten in einer Spalte (z.B. C) in z.B. rot ist beispielsweise:
Sub Doppelte_markieren_Spalte_C()
'angelehnt an: http://www.ms-office-forum.net/forum/sitemap/index.php?t-277131.html
Dim lngZeile As Long
Dim lngEnde As Long
Dim i As Integer
lngEnde = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
For lngZeile = 1 To ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
If Application.CountIf(Range("C1:C" & lngEnde), Range("C" & lngZeile)) > 1 Then
Range("C" & lngZeile).Interior.ColorIndex = 3
End If
Next lngZeile
End Sub
Ich möchte jedoch unterschiedliche Duplikate in unterschiedlichen Farben markieren, wie z.B.
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001981
PAT-001982 -> gelb
PAT-001982 -> gelb
Vielen Dank im Voraus!
Fusselfrei
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177668
Url: https://administrator.de/contentid/177668
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Fusselfrei!
Sollte in etwa so gehen:
Wobei sich die Farben wiederholen, sofern mehr Duplikate als Farben im Farben-Array (arrFarben) vorhanden sind.
Gruß Dieter
Sollte in etwa so gehen:
Sub Doppelte_markieren_Spalte_C()
'angelehnt an: http://www.ms-office-forum.net/forum/sitemap/index.php?t-277131.html
Dim lngZeile As Long
Dim lngEnde As Long
Dim strValue As String
Dim objDupList As Object
Dim arrFarben As Variant
Dim intFarben As Integer
arrFarben = Array(3, 5, 7, 4) 'Aufzählung der ColorIndex-Werte entsprechend anpassen
Set objDupList = CreateObject("Scripting.Dictionary") 'Liste der Duplikate (Key) mit ColorIndex (Item)
lngEnde = Cells(Rows.Count, 3).End(xlUp).Row
Columns("C:C").Interior.ColorIndex = xlNone 'Alle Farben in Spalte C zurücksetzen
For lngZeile = 1 To lngEnde
strValue = Cells(lngZeile, "C").Text
If strValue <> "" Then 'Test Zelle nicht Leer
If Application.CountIf(Range("C1:C" & lngEnde), strValue) > 1 Then
If objDupList.Exists(strValue) Then
Cells(lngZeile, "C").Interior.ColorIndex = objDupList.Item(strValue)
Else
Cells(lngZeile, "C").Interior.ColorIndex = arrFarben(intFarben)
objDupList.Add strValue, arrFarben(intFarben)
intFarben = intFarben + 1
If intFarben > UBound(arrFarben) Then intFarben = 0
End If
End If
End If
Next
End Sub
Gruß Dieter
Hallo Fusselfrei!
Yepp, gern geschehen
Gruß Dieter
Yepp, gern geschehen
Gruß Dieter
Hi zusammen,
ich würde gerne wissen was ich machen muss damit er mir wie folgt die Spalte markiert.
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001981 -> grün
PAT-001982 -> rot
PAT-001982 -> rot
PAT-001983 -> grün
PAT-001983 -> grün
PAT-001984 -> rot
PAT-001985 -> grün
Also sobald ein Zahlenwechsel erfolgt die Farbe wechselt wird.
Danke
Gruß Andre
ich würde gerne wissen was ich machen muss damit er mir wie folgt die Spalte markiert.
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001980 -> rot
PAT-001981 -> grün
PAT-001982 -> rot
PAT-001982 -> rot
PAT-001983 -> grün
PAT-001983 -> grün
PAT-001984 -> rot
PAT-001985 -> grün
Also sobald ein Zahlenwechsel erfolgt die Farbe wechselt wird.
Danke
Gruß Andre