VB-Exel - Dubletten in einer Spalte samt Zeile löschen oder ausblenden?
Hallo liebe Community,
entweder fehlt mir die Logik oder das Wissen... oder beides.
Ich hänge seid einer gefühlten Ewigkeit beim Versuch, bei Dupletten in der Spalte "E-Mail" samt der Zeile in der sie sich befinden zu löschen.
Zur Verständlichkeit:
Newsletterkontakte sollen importiert werden.
Excel-Liste wurde mir aus irgendeinem ERP in die Hand gedrückt.
6k Kontakte. Manche Kontakte haben die selbe E-Mail (z.B. info@irgendwas).
Das das Tool aber auch Name Anschrift usw. braucht sollen alle Dubletten in der Spalte "E-Mail" samt Zeile in der sie sich befinden gelöscht werden.
Um mein Problem noch besser zu veranschaulichen hier noch ein Bild:
Sollte "YY" als Dublette ausfindig gemacht werden sollen "Zeile 4 & 5" gelöscht werden.
Ich weiß nicht wie ich das am besten machen soll, erweiterte Formatierung, Duplettensuche usw ... mit allem hab ich schon "rumexperimentiert".
Ich vermute mal das es evtl. mit nem VB-Makro funzt. Allerdings fehlt mir da völlig der Ansatz.
Vielen Dank schonmal an alle die mir dabei helfen!
entweder fehlt mir die Logik oder das Wissen... oder beides.
Ich hänge seid einer gefühlten Ewigkeit beim Versuch, bei Dupletten in der Spalte "E-Mail" samt der Zeile in der sie sich befinden zu löschen.
Zur Verständlichkeit:
Newsletterkontakte sollen importiert werden.
Excel-Liste wurde mir aus irgendeinem ERP in die Hand gedrückt.
6k Kontakte. Manche Kontakte haben die selbe E-Mail (z.B. info@irgendwas).
Das das Tool aber auch Name Anschrift usw. braucht sollen alle Dubletten in der Spalte "E-Mail" samt Zeile in der sie sich befinden gelöscht werden.
Um mein Problem noch besser zu veranschaulichen hier noch ein Bild:
Sollte "YY" als Dublette ausfindig gemacht werden sollen "Zeile 4 & 5" gelöscht werden.
Ich weiß nicht wie ich das am besten machen soll, erweiterte Formatierung, Duplettensuche usw ... mit allem hab ich schon "rumexperimentiert".
Ich vermute mal das es evtl. mit nem VB-Makro funzt. Allerdings fehlt mir da völlig der Ansatz.
Vielen Dank schonmal an alle die mir dabei helfen!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 286173
Url: https://administrator.de/forum/vb-exel-dubletten-in-einer-spalte-samt-zeile-loeschen-oder-ausblenden-286173.html
Ausgedruckt am: 05.04.2025 um 09:04 Uhr
4 Kommentare
Neuester Kommentar

Hallo Yannosch,
hier ein Makro das das gewünschte erledigt:
Für deinen Test markiert das Skript die Zeilen erst einmal nur gelb. Scharf schalten kannst du das löschen indem du Zeile 22 auskommentierst.
Das ist die manuelle Variante "zu Fuß" über ein Dictionary.
Excel hat aber die Duplikats-Funktion schon integriert, dann lässt sich das auf eine Zeile reduzieren:
Grüße Uwe
hier ein Makro das das gewünschte erledigt:
Für deinen Test markiert das Skript die Zeilen erst einmal nur gelb. Scharf schalten kannst du das löschen indem du Zeile 22 auskommentierst.
Sub RemoveDuplicates()
Dim rngDelete As Range, dic As Object, cell As Range
Set dic = CreateObject("Scripting.Dictionary")
With ActiveSheet
For Each cell In .Range("K2:K" & .Cells(Rows.Count, "K").End(xlUp).Row)
If cell.Value <> "" Then
If Not dic.Exists(cell.Value) Then
dic.Add cell.Value, ""
Else
If Not rngDelete Is Nothing Then
Set rngDelete = Union(rngDelete, cell.EntireRow)
Else
Set rngDelete = cell.EntireRow
End If
End If
End If
Next
End With
If Not rngDelete Is Nothing Then
rngDelete.Interior.Color = vbYellow
'rngDelete.Delete
End If
End Sub
Excel hat aber die Duplikats-Funktion schon integriert, dann lässt sich das auf eine Zeile reduzieren:
ActiveSheet.Range("A:N").RemoveDuplicates Columns:=11, Header:=xlYes
Aber du meinst sicher, um es scharf zu schalten, dass Zeile 20 auskommentiert wird, bzw durch Zeile 21 ersetzt wird, oder?
Sicher ... Das eine markiert die Zeilen nur in Gelb das andere löscht sie. Die Markierung verschwindet so oder so wenn die Zeile gelöscht wird...p.s. Die Dublettensuche in Excel kann genau das selbe