ich habe in einer Exceltabelle einige doppelte Datenzätze die ich gerne über VBA bzw. Makro löschen möchte. Wie sieht das Skript dazu aus.
Im voraus danke
ich habe in einer Exceltabelle einige doppelte Datenzätze die ich gerne über VBA bzw. Makro löschen möchte. Wie sieht das Skript dazu aus.
Im voraus danke
einiges geht auch ohne VBA
Doppelte Löschen
angenommen Deine Daten stehen in A1 bis A????
Bereich markieren = Spalte A anklicken (evtl eine Leerzeile vorher einfügen)
Daten / Filter / Spezialfilter
keine Duplikate
jetzt kannst du noch einstellen, ob an gleicher Stelle oder woanders placiert; hier also B1 eingeben
Spalte A anschließend löschen
Gruß Hajo
hier habe ich vielleicht noch was für Dich.
Gruß Detlef
Sub DoppelteSätzeEliminieren()
Dim Spalte As String
Dim Tabelle As String
Spalte = InputBox("In Welcher Spalte" _
& Chr(13) & "doppelte Sätze elemenieren?" _
& Chr(13) & Chr(13) & "Buchstabe der Spalte eingeben!", _
"Doppelte Sätze Eliminieren")
If Spalte = "" Then Exit Sub
Tabelle = InputBox("In welcher Tabelle" _
& Chr(13) & "doppelte Sätze elemenieren?" _
& Chr(13) & Chr(13) & "Tabelle Namen eingeben!", _
"Doppelte Sätze Eliminieren")
If Spalte = "" Then Exit Sub
'Aktualisierung im Hintergrund
Application.ScreenUpdating = False
Sheets(Tabelle).Activate
'zuerst sortieren
Columns("a:iv").Select
Selection.Sort Key1:=Range(Spalte & "1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
'jetzt doppelte Sätze rausschmeißen
Range(Spalte & "1").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value _
Then ActiveCell.EntireRow.Delete _
Else ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
End Sub