18.12.2015, 23:39
Hallo und schönen guten Abend,
habe schon wieder eine Frage und hoffe auf Eure Hilfe.
In Spalte "A" habe ich sehr viele Datensätze (ca. 2500) die auch mehrfach vorkommen.
In den anschließenden Spalten "B-H" stehen aber unterschiedliche Werte und deshalb können auch mehrfach gleiche Datensätze in Spalte "A" nicht sofort gelöscht werden.
Zum besseren Sichtung der Daten und der Übersichtlichkeit wegen würde ich gerne alle gleichen Datensätze farblich markieren.
Das habe ich auch mit dem folgenden Makro so umgesetzt. Die Idee ist nun auf alle gleichfarbigen Zellen zu filtern bzw. sie zusammenzufassen
Ich habe aber keine Idee wie ich das anstellen kann.
Vielleicht hat jemand einen Ansatz für mich....es können aber wie Ihr aus dem Array ersehen könnt sehr viele unterschiedliche Farben vorkommen.
So hier nun der Code:
habe schon wieder eine Frage und hoffe auf Eure Hilfe.
In Spalte "A" habe ich sehr viele Datensätze (ca. 2500) die auch mehrfach vorkommen.
In den anschließenden Spalten "B-H" stehen aber unterschiedliche Werte und deshalb können auch mehrfach gleiche Datensätze in Spalte "A" nicht sofort gelöscht werden.
Zum besseren Sichtung der Daten und der Übersichtlichkeit wegen würde ich gerne alle gleichen Datensätze farblich markieren.
Das habe ich auch mit dem folgenden Makro so umgesetzt. Die Idee ist nun auf alle gleichfarbigen Zellen zu filtern bzw. sie zusammenzufassen
Ich habe aber keine Idee wie ich das anstellen kann.
Vielleicht hat jemand einen Ansatz für mich....es können aber wie Ihr aus dem Array ersehen könnt sehr viele unterschiedliche Farben vorkommen.
So hier nun der Code:
Code:
Sub Doppelte_markieren_Spalte_A()
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, 4, 5, 6, 7, 8, 9, 10, 15, 12, 14, 17, 22, 23, 24, 28, 33, 40, 42, 44, 45, 46, 37, 38, 39, 48, 50) 'Aufzählung der ColorIndex-Werte entsprechend anpassen
Set objDupList = CreateObject("Scripting.Dictionary") 'Liste der Duplikate (Key) mit ColorIndex (Item)
lngEnde = Cells(Rows.Count, 1).End(xlUp).Row
'Alle farbigen Zellen finden und zurücksetzen
For lngZeile = 7 To lngEnde
If Cells(lngZeile, 2).Text <> "X" Then
Cells(lngZeile, 1).Interior.ColorIndex = xlNone 'Alle Farben in Spalte C zurücksetzen
End If
Next lngZeile
For lngZeile = 7 To lngEnde
If Cells(lngZeile, 2).Text <> "X" Then
strValue = Cells(lngZeile, 1).Text
If strValue <> "" Then 'Test Zelle nicht Leer
If Application.CountIf(Range("A1:A" & lngEnde), strValue) > 1 Then
If objDupList.Exists(strValue) Then
Cells(lngZeile, 1).Interior.ColorIndex = objDupList.Item(strValue)
Else
Cells(lngZeile, 1).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
End If
Next lngZeile
End Sub