VBA - Spalte A Inhalte prüfen und bei identischem Inhalt farblich markieren

Hallo liebe Forumsmitglieder,

ich habe eine neue Aufgabe erhalten und komme so schnell nicht auf die Lösung :frowning:

Ich habe eine Spalte A. Darin sind Zahlenwerte enthalten

Beispiel:

Spalte A                                   Spalte B
bX001f505677_                       Text XYZ
bX001f505677                         Text XYZ
bX001f50574343                     Text XY
bX001f50574343_                   Text XY
bX003f783143434                   Text XY

Ich will jetzt das ein Makro die Spalte A durchgeht und mir dann wenn zwei Zellen fast identisch sind (_ oder nicht) BEIDE Zeilen markiert in Gelb.
In diesem Beispiel müsste er also bX001f505677_ und bX001f505677 + bX001f50574343 und bX001f50574343_ gelb markieren. Ich habe circa. 1000 Zeilen drin  in dieser Datei. Ich habe keine Ahnung wie man das machen kann. weil der Zelleninhalt mal kürzer und mal länger sein kann :frowning: Man müsste eigentlich alles absuchen lassen mit _ und dann das abziehen und dann genau das Duplikat dazu suchen und dann doch beide gelb markiert anzeigen oder so.

Es wäre auch hier toll, wenn es dazu ein Button geben könnte. Das heißt ich mache die Excel Datei auf, alle Daten sind bereits enthalten, dann drücke ich den Button „Duplikate anzeigen“ und das Ganze wird gescannt und zeigt mir alle Duplikate gelb an.

Ich hoffe die Aufgabe ist einigermassen gut beschrieben. Bitte als VBA Makro angeben, ich will das in ein bestehendes Makro (.xlsm) einbauen als weiteres Modul.

Danke vorab für eure Unterstützung

MfG Levent

Spalte A                                   Spalte B
bX001f505677_                       Text XYZ
bX001f505677                         Text XYZ
bX001f50574343                     Text XY
bX001f50574343_                   Text XY
bX003f783143434                   Text XY

Ich will jetzt das ein Makro die Spalte A durchgeht und mir
dann wenn zwei Zellen fast identisch sind (_ oder nicht) BEIDE
Zeilen markiert in Gelb.
In diesem Beispiel müsste er also bX001f505677_ und
bX001f505677 + bX001f50574343 und bX001f50574343_ gelb
markieren.

Hallo Levent,

der Code benutzt zwei temporäre Hilfsspalten, nimm zwei leere nebeneinanderliegende. Die 8 im Code gibt die linke Spaltennummer an, in dem Fall also Spalte H.

Gruß
Reinhard

Option Explicit

Sub Faerbe()
Dim lngZei As Long, lngSpa As Long
On Error Resume Next
lngSpa = 8
With Worksheets("Tabelle1")
 lngZei = .Cells(Rows.Count, "A").End(xlUp).Row
 .Cells(1, 1).Resize(lngZei, 1).Interior.ColorIndex = xlNone
 .Cells(1, lngSpa).Resize(lngZei, 1).Formula = \_
 "=SUBSTITUTE(A1,""\_"","""")"
 .Cells(1, lngSpa).Resize(lngZei, 1).Offset(0, 1).Formula = \_
 "=IF(COUNTIF(" & Chr(64 + lngSpa) & ":" & Chr(64 + lngSpa) & \_
 "," & Chr(64 + lngSpa) & "1)\>=2,"""",""1"")"
 .Cells(1, lngSpa).Resize(lngZei, 2).Value = .Cells(1, lngSpa).Resize(lngZei, 2).Value
 .Cells(1, lngSpa + 1).Resize(lngZei, 1).SpecialCells(xlCellTypeBlanks).Offset(0, -8). \_
 Interior.ColorIndex = 6
 .Cells(1, lngSpa).Resize(lngZei, 2).ClearContents
End With
End Sub

Hi Reinhard,

spitzen Makro. Hat alles super geklappt.
Bist echt Weltklasse.

Danke vielmals.

Alles alles Gute

Levent