Makro Excel?

2 Antworten

Sub NurDuplikateBehalten()

Dim letzteZeile As Long

Dim i As Long

Dim dict As Object

' Dictionary erstellen

Set dict = CreateObject("Scripting.Dictionary")

' Letzte Zeile in Spalte B finden

letzteZeile = Cells(Rows.Count, "B").End(xlUp).Row

' Alle Werte zählen

For i = 1 To letzteZeile

If Not IsEmpty(Cells(i, "B").Value) Then

dict(Cells(i, "B").Value) = dict(Cells(i, "B").Value) + 1

End If

Next i

' Von unten nach oben durchgehen und eindeutige Zeilen löschen

For i = letzteZeile To 1 Step -1

If Not IsEmpty(Cells(i, "B").Value) Then

If dict(Cells(i, "B").Value) = 1 Then

Rows(i).Delete

End If

End If

Next i

MsgBox "Fertig! Nur Duplikate bleiben erhalten.", vbInformation

End Sub


Rose2310 
Beitragsersteller
 26.04.2025, 20:07

Ich danke dir!!

Leider kann ich dir keine Schritt für Schritt Anleitung liefern, da ich ich 90% der Zeit nicht mit der Desktop Version arbeite sondern mit der Web Variante meiner Lizenz und hier fehlen leider einige Optionen, aber es gibt im Reiter Start bereits eine fertige Variante um Duplikate zu erkennen, das funktioniert auch über 5000 Zeilen.

Vielleicht kann sich hierzu mal einer der üblichen verdächtigen melden, die Desktop Version nutzen.

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby