Zellen loeschen mit Makro

Hallo!

Ich moechte gerne ein kleines Makro fuer Excel 2000 schreiben, aber es klappt nicht so richtig, da ich mich zu wenig mit VBA auskenne. Ich habe ein File, in dem untereinander 60.000 Nummern stehen, wobei sich manche wiederholen, also z. B.:

51649SE
C2394A
C2394A
C2394A
C2394A
C2394B

Ich moechte jetzt einfach mit einem Makro alle Zeilen durchgehen und die Zeilen mit doppelten Nummern loeschen. Vielen Dank schon mal fuer alle Tips.

Gruesse, Tanja

doppelte Zellen loeschen o h n e Makro
Kommt daruf an, wie häufig Du dieses Problem hast. Ist es ein einmaliger Fall, würde ich das schnell „halbmanuell“ ohne Makro erledigen:

Angenommen die Zahlen stehen alle in untereinander in Spalte A in den Zeilen 1 bis 60.000:

  1. Alles nach Spalte A sortieren, so dass gleiche Werte untereinander stehen.
  2. Dann in B1 folgende Formel schreiben: =wenn(A1=A2;0;1)
  3. die Formel aus b1 in die Zellen b2 bis b60000 kopieren.
  4. die Zellen b1 bis b60000 markieren, mit „bearbeiten“>„kopieren“ in den Zwischenspeicher stellen, mit"bearbeiten">„inhalte einfügen“>„werte“ an gleicher Stelle wieder einfügen. (Damit sind die Formeln weg und in Spalte B stehen nur noch 1 und 0. Zu jedem Wert aus Spalte A gibt es genau eine Zeile mit einer 1 in Spalte B, alle doppelten Werte in Spalte A sind mit einer 0 in Spalte B gekennzeichnet.)
  5. die Zellen a1 bis b60000 markieren und nach Spalte B sortieren. Jetzt stehen alle Zeilen mit einer o in Spalte B untereinander und können bequem gelöscht werden.

Das wars. Klingt jetzt hier vielleicht komplizierter als es in Wirkichkeit ist. Mit ein bischen Übung ist sowas in 1 -2 Minuten erledigt… :wink:

Gruß
Wolfgang

Hi!

Das Problem hatten wir hier schon ein paar mal, aber da ich auch nicht der große Archiv-Finder bin:

Du brauchst dazu kein Makro. Sortiere die Tabelle nach der betroffenen Spalte über Daten - Sortieren. Füge nun rechts daneben eine Spalte ein. Wenn die sortierte Spalte A ist, schreibst du nun in Zelle B2: =wenn(A2=A1;1;0)

Diese Formel kopierst du komplett runter. Jetzt steht in den zu löschenden Zeilen eine 1, in den anderen eine Null. Nun musst du also nur noch die Zeilen mit der 1 herausfiltern: Extras - Filter - Autofilter. In dem nun erscheinenden Pulldown-Menü der Spalte B wählst du die 0, und fertig.

Hört sich kompliziert an? Ist’s aber in diesem Fall nicht!

Schöne Grüße
Siegfried

Hallo Tanja,

gib mal in die Spalte rechts neben diesen Werten (ich setze mal voraus, daß dies die Spalte A ist) die Formel

=WENN(A1A2;A1;"")

ein und kopiere sie bis zum Ende der Spalte A (erste Spalte)

Dann setze auf Spalte B (da wo jetzt diese Formel steht) einen Autofilter (Daten - Filter -Autofilter) und filtere nach „(Nichtleere)“.

Das Ergebnis kannst Du kopieren (Strg + c) und in eine neue Tabelle oder Spalte einfügen (Bearbeiten - Inhalte einfügen - „Werte“ ankreuzen!)

gruss moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank fuer alle Tips, es hat geklappt! (ot)
(ot)