AW: VBA morko doppelte Zeileneinträge löschen
20.04.2008 02:41:51
Daniel
HI
Doppelte Löschen wird hier öfters mal nachgefragt.
die schnellste Mehtode ist diese hier:
Die Tabelle wird nach Namen, Vornamen und Addresse sortiert, um das Auffinden der doppelten zu vereinfachen, aber das sollte in einer Namensliste kein Problem sein.
Sub Doppelte_Löschen()
Dim Ze1 As Long, Ze2 As Long
Ze1 = 8
Ze2 = Cells(Rows.Count, 1).End(xlUp).Row
With Range(Cells(Ze1, 1), Cells(Ze2, 1)).EntireRow
.Sort key1:=Cells(8, "A"), order1:=xlAscending, _
key2:=Cells(8, "C"), order2:=xlAscending, _
key3:=Cells(8, "F"), order3:=xlAscending, header:=xlNo
End With
Columns(1).Insert
With Range(Cells(Ze1, 1), Cells(Ze2, 1))
.FormulaR1C1 = "=IF(AND(RC[1]=R[-1]C[1],RC[3]=R[-1]C[3],RC[6]=R[-1]C[6]),TRUE,ROW())"
.Formula = .Value
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns(1).Delete
End Sub
Achtung, nicht getestet, da keine brauchbare Beispieldatei vorhanden ist.
Gruß, Daniel