obwohl ich auch hier bereits das ein oder andere zu dem Thema gefunden habe, finde ich für mich keine Lösung. Ich möchte das Folgende schneller programmieren, denn bei der Anzahl der Datensätze dauert das EWIG.
Es soll nur in einer Spalte (M) nach den Doppelten gesucht werden.
Dazu könnte ich ja
For iRow = x1 To 1 Step -1
If WorksheetFunction.CountIf(Columns(13), Cells(iRow, 13)) > 1 Then
Rows(iRow).Delete
x = x + 1
End If
Next iRow
verwenden. Leider aber muß ich, wenn denn Doppelte da sind, abfragen, ob in Spalte (L) etwas steht. Für mich ist genau das der Knackpunkt. Ich muß von beiden die Zeilenzahl haben, um dann entscheiden zu können, ob nun die eine oder die andere Doppelte gelöscht werden soll.Daher habe ich wieder diese Lösung wählen müssen:
Sheets("CSV-Datei").Select
x1 = Sheets("CSV-Datei").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Range("A1").Select
x1 = x1 - 1
y1 = x1
For x = x1 To 2 Step -1
For y = x1 To 2 Step -1
If x y Then
If wksC.Cells(x, 13) = wksC.Cells(y, 13) Then
z = z + 1
If wksC.Cells(x, 12) "" Then
wksC.Rows(x).Delete
Else
wksC.Rows(y).Delete
End If
End If
End If
Next y
Next x
Weiß jemand eine Erweiterung der obigen Programmierlösung, (oder etwas anderes Schnelles) so daß ich nicht ständig 45 Minuten warten muß, bis die Spalte nach Doppelten durchsucht ist?Viele Grüße und vielen Dank im Voraus
Willi