Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1124to1128
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

doppelte Einträge in einer Spalte löschen

doppelte Einträge in einer Spalte löschen
Thomas
Hallo,
ich habe folgendes Problem:
Habs nach langen hin und her hinbekommen die doppelten Einträge in der Spalte A und die zugehörige Zeile mit diesem Makro zu löschen
Sub DoppelteLöschen()
Dim iRow As Long, iRowL As Long
iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) > 1 Then
Rows(iRow).Delete
End If
Next iRow
End Sub
Die Tabelle hat ca 54000 Zeilen - ändert sich immer mal wieder wenn ein Update gemacht wird und 32 Spalten.
In Spalte A stehen die Artikelnummer und diese kommen ab und an doppelt oder dreifach bzw. vierfach vor - sollen aber nur einmal vorkommen.
Das Makro läuft ca. 100 Minuten - läßt sich das beschleunigen?
Die Werte in Spalte A sind gefiltert und die doppelten stehen alle in absteigender Form untereinander.
Könnt Ihr mir hier auf die Spünge helfen?
Gruß
Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: doppelte Einträge in einer Spalte löschen
06.01.2010 01:11:46
Daniel
Hi
zum Thema Doppelte Löschen müsste eigentlich was im Archiv stehen.
im prinzip funktioniert das so:
1. Liste nach Artikelnummer sortieren
2. Hilfsspalte mit folgender Formel einfüguen und nach unten koperen (geschrieben für Zeile 1)
=Wenn(A1=A2;"";Zeile())
3. in der Hilfsspalte die Formeln durch Werte ersetzen (Kopieren / Inhalte einfügen - Werte)
4. die Datei nach der Hilfsspalte sortieren
5. die Hilfsspalte markieren (ganze Spalte)
6. über die Funktion START - SUCHEN und AUSWÄHLEN - INHALTE - LEERZELLEN die Selektion auf die Leerzellen beschränken.
7. die selektierten Leerzellen löschen mit der Option "ganze Zeile"
8. Hilfsspalte löschen
mit dieser Methode solltest du von Hand die Aufgabe in kürzester Zeit erledigen können und auch ein Makro ist nach dieser Methode am schnellsten.
Das Marko zu dieser Beschreibung würde so aussehen:
Sub DoppelteLöschen()
With ActiveSheet.UsedRange
.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlGuess
With .Columns(.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=if(RC1=R[1]C1,"""",Row())"
.Formula = .Value
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlGuess
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.EntireColumn.Delete
End With
End With
End Sub
Gruß, Daniel
Anzeige
AW: doppelte Einträge in einer Spalte löschen
06.01.2010 09:41:14
Helge
Hi, wenn du es nur einmal filtern willst kann dir der Spezialfilter( Data -- Filter -- Advanced Filter ) vll weiter helfen. Der gibt dir das ganze dann ohne Duplikate in einer anderen liste aus. Geht vll schnell, ansonsten mit access versuchen, damit geht es auf jeden Fall schneller.
AW: doppelte Einträge in einer Spalte löschen
06.01.2010 23:42:56
Thomas
Hallo Daniel,
Hallo Helge,
Du kannst davon ausgehen das ich die Suche benutzt habe :) bevor ich mich an die Profis wende sonst hätte ich das Makro das ich einsetzte nicht gefunden - mir ging es nur um die Zeit und ob man es verbessern kann.
Ich habe Dein Makro gerade mal laufen lassen - TOP - läuft in ca 5 Sek. durch - spart mir ne Menge Zeit.
Merci
Schulde Dir ein paar Weißbier - sollste mal in Franken sein - rühr Dich :) - gehen wie in einen Biergarten.
Der Umstieg auf Access ist geplant - aber da brauch ich erst gar nicht anfangen - bin froh wenn ich in Ecel soweit klar komme.
Gruß und Euch ein gesundes und erfolgreiches 2010
Thomas
Anzeige

336 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige