Wie lösche ich Duplikate vba?

3 Antworten

Verstehe ich richtig, dass in beiden Tabellen eine identifizierende Kundennummer enthalten ist?

Dann brauchst du keinerlei Makro, bordeigene xl-tools reichen.

  • Bringe die Spalten in Übereinstimmung (gleiche Anordnung)
  • Lege sicherheitshalber eine neue Datei oder ein neues Blatt an.
  • Füge in beiden Tabellen eine neue Spalte A ein.
  • Dahinein schreibst du -natürlich per copy- in die eine Tabelle A, in die andere B (oder sonst einen Text, zur späteren Identifizierung der Herkunft.)
  • versetze die id.Ku-Nr nach B:B, und zwar in beiden Blättern (die alte Spalte muss verschwinden)
  • Dann hängst du die zweite Liste unten an die erste an. (Per Copy&paste)
  • Ordne nun die Gesamtliste nach identifikationsnummern (Gesamtbereich!), als zweite Ebene nach Spalte A
  • Schreibe in eine Spalte weiter rechts oder in eine weitere eingefügte Spalte neue A (also ganz links) die Formel: =Wenn(C2=C1;"Doppel";"Unikat").
  • Formel per Doppelklick aufs Ausfüllkästchen in ganze Spalte kopieren.
  • überprüfe anhand einiger Stichproben, ob auch alles stimmt oder ob sich ein Fehler eingeschlichen hat. ggf Blatt duplizieren.
  • Sortiere nun nach Spalte A (neu+neu), also "Doppel" bzw "Unikat"
  • Du kannst jetzt nach Spalte A sortieren und alle Doppel köschen (ggf musst du noch vorher stichprobenweise prüfen, ob alle "Unikat" alle aus der richtigen Originaltabelle kommen, falls da doch irgendwelche Spaltenunterschiede waren)

ggf nochmals mit vertauschtem A und B wiederholen (Auswechseln im Dreischritt: A ersetzen durch C; B ersetzen durch A; C durch B)

Die ursprüngliche Zeilenordnung geht dabei natürlich verloren, ich nehme aber an, dass da sowieso eine neue Ordnung rein soll, zB nach id-Nr oder Name alphabetisch oder ...?

Probiers mal an einer Sicherungskopie aus, da kann ja nichts kaputtgehen.Ach so, Spalte A und B kannst du dann wieder löschen.

Liest sich kompliziert, ist es aber nicht, habs nur schrittchenweise erläutert.

Im Menu Punkt "Daten" gibt es die Funktion "Duplikate entfernen".
Ich verwende diese, wenn über viele Zeilen (>100000) daten mehrfach vorkommen können. Hierbei werden alle Zeilen und die zugehörigen komplett markiert, um dann im Anschluss "Duplikate entfernen" zu drücken. Excel teilt dann mit wie viele entfernt wurden.
Ggf kannst du deine daten so anordnen, dass alles an Personen und IDs diese Anordnung erfüllen, so dass am Schluss nur Unikate übrig sind.
VBA Lösungen gibt es dafür allerdings auch, wenn du damit aber keine Erfahrung hast, wäre dies sicherlich umständlicher.  

Anonym1234195 
Fragesteller
 30.03.2019, 11:48

Das geht leider nicht da ich sie abhängig von der ersten Spalte löschen muss

0

Sehr leicht ginge das mit regex Befehlen mit simplen Programmen wie Notapad++

So kannst du nach doppelten Zeilen suchen lassen und die neue Liste dann wieder in Excel eintragen.

EDIT: Ich merke gerade, dass du nicht einmal Regexbefehle brauchst. Du kannst im Grunde 2 txt Dateien zeilenweisen vergleichen lassen, nachdem du in der einen Datei, die nur die Kundennumer enthält, Duplikate löschen lässt. Dann weißt du im Vergleich, welche Namen du wegstreichen musst.

Anonym1234195 
Fragesteller
 29.03.2019, 21:17

Ich habe von der ganzen Materie leider null Ahnung ich musste für einen langfristig erkrankten Kollegen einspringen und muss jetzt teilweise seine Aufgaben übernehmen. Ich habe also praktisch null Erfahrung

0
Sombra0071  29.03.2019, 21:22
@Anonym1234195

Achso hm.. dann vllt am besten auf die nächste Antwort warten - oder eben ein wenig in den Einstellungen von Notepad++ recherchieren und ggf nach den Dingen, über die ich gesprochen habe (Im Edit-Teil) Google fragen. Notepad++ wäre nämlich so ziemlich die einfachste Methode, die mir einfällt, wo du nicht programmieren musst oder sonst was. Aber man muss sich da eben ein wenig reinlesen/hineinarbeiten. Sobald man die Trickkiste dann verstanden hat, fällt einem Notepad++ später leichter und man kann da echt Wunder mit wirken lassen. (Notepad++ ist im Grunde ein sehr leistungsfähiges Text-Tool mit vielen Plugins, die man auch herunterladen kann. Und ganz neben bei Opensource)

1