Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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

Duplikate entfernen

Duplikate entfernen
26.04.2018 16:20:59
Idence
Hallo,
gerade habe ich mir einen Code zurechtgebastelt, der doppelte Zeilen löscht, wenn sie direkt nacheinander auftreten. Das eigenartige ist, dass nicht alle Duplikate entfernt werden.
Wenn ich z.B. 30 gleiche Zeilen erstelle und das Makro starte, dann werden beim ersten mal z.B. 15 entfernt und stoppt dann. Deswegen muss ich das Makro erneut starten, dann werden z.B. 8 entfernt ... bis nur noch eine Zeile übrig ist.
Habe ich einen Fehler im Code oder ist das ein Excel-Fehler?
Danke im voraus.
Gruß
Idence
Sub DoppelteZeilenLoeschen()
Dim z As Integer
Dim s As Integer
Dim ZeileLoeschen As String
s = 1
z = 1
Do While Cells(z, 1)  ""
Do While s 

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Duplikate entfernen
26.04.2018 16:23:40
Hajo_Zi
Deine Schleife läuft von vorne nach hinten, beim löschen sollte sie umgekehrt laufen.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Duplikate entfernen
26.04.2018 17:15:59
mmat
Hallo,
also wenn die Schleife vorwärts läuft, dann darf der Zeilenzähler nur dann hochgezählt werden, wenn nicht gelöscht wird.
also:
  If ZeileLoeschen = "Ja" Then
Rows(z + 1).EntireRow.Delete
Else
z = z + 1
End If

AW: Duplikate entfernen
27.04.2018 09:01:56
KlaWet
Auch eine Möglichkeit...
ActiveSheet.Range("$A$1:$C$11").RemoveDuplicates Columns:=1
den Bereich müsstest du dann halt noch anpassen.
Anzeige
AW: Duplikate entfernen
26.04.2018 16:30:16
KlaWet
Hallo Idence,
du solltest deine Tabelle von unten nach oben abarbeiten, dann sollte es funktionieren.
Gruß
Klaus
AW: Duplikate entfernen
30.04.2018 11:42:43
Idence
Hallo an alle,
ihr habt mich auf die richtige Spur gebracht. Ich danke euch hierfür herzlich.
Vor allem der Tipp von mmat hat mir geholfen, der Haken an der Geschichte steckt tatsächlich im Zähler. Ich habe zuerst den Code von mmat benutzt, dann läuft der Code bei mir unendlich lang weiter...
Schließlich habe ich eine Lösung gefunden, man sagt ja, der Teufel steckt im Detail:
Sub DoppelteZeilenLoeschen()
Dim z As Integer
Dim s As Integer
Dim ZeileLoeschen As String
z = 8                   'z: Zeile,es werden solange die Zeilen durchlaufen, bis eine leere  _
Zelle auftritt
Do While Cells(z, 1)  ""
s = 1                  's: Spalte, es werden die ersten 11 Spalten durchlaufen
Do While s 
Gruß
Idence
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige