Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Zeilen löschen per VBA

Doppelte Zeilen löschen per VBA
26.01.2007 21:23:41
MathiasW
Hallo Excelfreunde,
ich bitte um mithilfe, ich habe eine Exceltabelle.
Dort existieren Spaltenvon A bis AB und Zeilen von 1 bis 6000
Zu betrachten sind die Zeilen 3 bis 6000 (Zeile 1=Überschriften, Zeile2=Autofilter)
In den Zeilen 3 bis 6000 stehen des öfteren gleiche Einträge.
Erreichen möchte ich, dass keine Zeile mit gleichen Einträgen doppelt angezeigt wird.(die doppelten Zeilen sollen gelöscht werden)
Dazu müsste in jeder Zeile der Eintrag von Spalte A & Spalte B überprüft werden, gibt es diese beiden Einträge
in einer einer Zeile, soll diese ganze Zeile gelöscht werden.
Wisst Ihr wie ich diese Problem mit VBA lösen kann?
vielen Dank für eure Hilfe Mathias

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Zeilen löschen per VBA
26.01.2007 22:11:29
MathiasW
Hallo Klaus-Dieter,
danke für die schnelle Antwort, funktioniert leider nicht, da müsste ich trotzdem jeweils die Zeilen manuell zum Vergleich angeben, und wen die erste Zeile fertig ist, müsste ich die nächste Zeile manuell einstellen, die vergleichen wollte u.s.w das währen dann immerhin 500 bis 700 manuelle Eingriffe. aber vielen dank.
Hatte im Forum schon ein Beispiel gefunden, dort wird aber nur Spalte A mit dem Rest verglichen und nicht Spalte A & B vielleicht kann das jemand anpassen.
Auuserdem beginnt das Makro in Zeile 1 und nicht in Zeile 3, hoffe Ihr habt noch ne Lösung parat.
vielen Dank Mathias
Sub AA_Doppelte_loeschen() Dim j As Integer Dim lrow As Integer 'erst sortieren Cells.Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'dann löschen lrow = Cells(Rows.Count, 1).End(xlUp).Row For j = lrow To 2 Step -1 If Cells(j, 1) = Cells(j - 1, 1) Then Rows(j).Delete End If Next j Range("A1").Select End Sub
Anzeige
AW: Doppelte Zeilen löschen per VBA
26.01.2007 22:24:13
Ramses
Hallo
Gib als Sortierbegriff zuerst Spalte A an und dann Spalte B
Daten - Sortieren: 1 = Spalte A, 2 = Spalte B
Danach kannst du dein Makro laufen lassen.
Gruss Rainer
AW: Doppelte Zeilen löschen per VBA
26.01.2007 22:47:48
MathiasW
Danke für Antwort, habe ich versucht,
auf daten & sortieren geklickt und dann das Makro
laufen tut aber nicht!!!
Kannst du vielleicht erklären warum das laufen sollte?
Das Makro schaut doch trotzdem nur in Spalte A und es muss eben in Spalte A+B gucken.
z.B.
in Spalte A3 steht Bohrbuchse in B3 steht 3,2
in Spalte A4 steht Bohrbuchse in B4 steht 3,2
in Spalte A5 steht Bohrbuchse in B5 steht 3,2
in Spalte A6 steht Bohrbuchse in B6 steht 3,2
in Spalte A7 steht Bohrbuchse in B7 steht 4,5
in Spalte A8 steht Bohrbuchse in B8 steht 4,5
dann sollen die Zeilen 4+5+6+8 gelöscht werden und in meinem Makro werden die Zeilen 4 bis 8 gelöscht.
Vielleicht hast du ja noch eine Idee?
trotzdem vielen Dank Mathias
Anzeige
AW: Doppelte Zeilen löschen per VBA
26.01.2007 23:40:43
Klaus-Dieter
Hallo Matthias,
da hast du aber einiges falsch verstanden. Du musst im UserForm nur die Parameter angeben. Also Zeile die die Überschriften enthält, die erste Zeile der Liste, welche Spalten auf Duplikate untersucht werden sollen. Den Rest erledigt das Programm für dich. Im zweiten Schritt kannst du dann alle Zeilen, die als Duplikat markiert sind, löschen. Ich denke das ist ein vertretbarer Aufwand.
Viele Grüße Klaus-Dieter

Online-Excel

AW: Doppelte Zeilen löschen per VBA
26.01.2007 23:54:20
MathiasW
Hallo Klaus-Dieter,
danke nochmal für den Nachtrag, aber bei mir soll doch nicht nur die Duplikate der ersten Zeile überprüft werden. Ich hab ca. 6000 Zeilen mit, das variiert immer, 2000-4000 Duplikaten. Das sind halt nur keine Doppeleinträge der ersten Zeile, sondern ich habe zwischen 0 und ca 20 gleiche Einträge der selben Position. Dann beginnt der nächste Eintrag. Meistens unterscheiden sich die Werte nur in Spalte B.
Gruss Mathias
Anzeige
AW: Doppelte Zeilen löschen per VBA
27.01.2007 00:17:30
Klaus-Dieter
Hallo Matthias,
wie kommst du denn auf das schmale Brett mit der ersten Zeile? Das Programm überpüft natürlich deine ganze Liste. Ich treibe doch nicht so einen Programmaufwand um nur eine Zeile zu prüfen! Der Parameter muß nur eingegeben werden, weil das Programm universell einsetzbar sein soll und es Leute gibt, denen es gefällt, wenn ihre Liste erst in Zeile 10 oder so beginnt.
Viele Grüße
Klaus-Dieter
AW: Doppelte Zeilen löschen per VBA
27.01.2007 12:28:50
Klaus-Dieter
Hallo Matthias,
so sieht ein Ergebnis von meinem Programm aus. Natürlich funktioniert das auch bei mehr als 15 Zeilen. Es geht alles, was eine Variable vom Typ Long hergibt.
 ABC
1Wert 1Wert 2A B
265 
353 
437 
517 
676 
714 
877 
937Duplikat
1071 
1183 
1253Duplikat
1315 
1443 
1556 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Doppelte Zeilen löschen per VBA
28.01.2007 14:04:00
MathiasW
Hallo Klaus,
danke für vielen Antworten, das Problem bei mir ist, das sich die Spalte B dynamisch verändernt, die Spalte A ändert sich gelegentlich und jetzt noch zum Problemchen:
Es muss jede Zeile mit den dazugehörigen Spalten A + B mit jeder anderen Zeile verglichen
werden und das geht mit dem Prog leider nicht.
Aber ich habs grad hinbekommen.
vielen Dank und schönes WE Mathias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige