Liste von Dubletten bereinigen
22.02.2009 19:16:53
Dubletten
ich habe mal eine Frage. Ich habe eine Tabelle, wo in der 1.Spalte verschiedene Werte stehen. Viele Werte kommen doppelt vor. Ich möchte nun diese Liste so bereinigen, dass nur noch jeder Wert einmal vorkommt. Seine Dubletten sollen gelöscht werden. Daher habe ich folgenden Code geschrieben:
Sub Test()
Dim count As Integer
count = 1
Do
If ThisWorkbook.Sheets("KST").Cells(count, 1).Value = "" Then
Exit Do
ElseIf ThisWorkbook.Sheets("KST").Cells(count, 1).Value ThisWorkbook.Sheets("KST"). _
Cells(count + 1, 1).Value Then
count = count + 1
ElseIf ThisWorkbook.Sheets("KST").Cells(count, 1).Value = ThisWorkbook.Sheets("KST"). _
Cells(count + 1, 1).Value Then
ThisWorkbook.Sheets("KST").Cells(count + 1, 1).ClearContents
ThisWorkbook.Sheets("KST").Cells.Sort Key1:=ThisWorkbook.Sheets("KST").Range("A1"), _
Order1:=xlAscending, _
Key2:=ThisWorkbook.Sheets("KST").Range("B1"), Order2:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
End If
Loop
End Sub
Dieser funktioniert auch. Leider kann die Ausführung sehr lange dauern, wenn es recht viele Werte in der 1.Spalte gibt. Bei meiner Liste sind es über 400 und das zieht sich dann schon ein wenig. Gibt es vielleicht eine schnellere Methode?
Vielleicht noch ein Denkansatz: Die ganzen Werte holt sich die Excel-Datei aus einer anderen Datei. Kann man hier sonst ansetzen, was dann vielleicht schneller ginge?
Gruß
Gordon