Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1368to1372
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 Löschen

Doppelte Löschen
23.07.2014 16:14:47
Max
Servus zusammen
Ich hab da noch ein Problem mit doppelten Werten in meiner Excel Liste.
Ich kann zwar die Doppelten löschen, jedoch möchte ich einen Bezug zur nebenstehende Spalte haben.
Und zwar sollen die Daten, die in Spalte A stehen, verglichen werden und dann die zeile gelöscht werden, neben der in Spalte B, der kleinere Zahlenwert steht.
Beispiel:
A B
4 2
3 1
4 3
Bei dieser Konstellation soll nun die erste Zeile also 4 und 2 gelöscht werden da die 3 höher als die 2 ist neben der 4. Bisher lässt excel automatisch den oberen Wert.
Wie schaffe ich es also, dass Excel sich die nebenstehende Spalte mitanschaut ?
Mein Code bisher:
Sub Gleiche_Loeschen()
Dim i As Long
Dim lngLastR As Long
lngLastR = Cells(Rows.Count, "A").End(xlUp).Row + 1
'Zellinhalte in Spalte A durch "" = Leerzelle ersetzen
Do
i = i + 1
Range(Cells(i + 1, "A"), Cells(lngLastR, "A")).Replace _
what:=Cells(i, "A").Value, replacement:="", lookat:=xlWhole
Loop While WorksheetFunction.CountIf(Range(Cells(i + 1, "A"), Cells(lngLastR, "A")), "") 

Liebe Grüße
Max

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Löschen
23.07.2014 16:31:36
Daniel
Hi
fürs Doppelte Löschen hat MS seit Excel 2007 die wunderbare Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN im Angebot und die ist einfach klasse, dh superschnell und kein problem mit beliebig grossen Datenmengen, mittlerweile mein Standardwerkzeug zum Löschen von Zeilen mit Bedinugnug.
ausschlaggebnd ist, dass immer der oberste Eintrag stehen bleibt.
du müsstest also deine Tabelle nach Spalte A aufsteigend und nach Spalte B absteigend sortieren und dann die Duplikate entfernen mit Spalte A als Kriterium.
sieht als Makro so aus:
With Range("A:B")
.Sort Key1:=.Cells(1, 1), order1:=xlascending, Key2:=.Cells(1, 2), order2:=xldescending, header: _
=xlno
.RemoveDuplicates 1, xlno
End With

Gruß Daniel

Anzeige
AW: Doppelte Löschen
23.07.2014 16:56:53
Max
Hallo Daniel
Danke für die schnelle Antwort :)
Ich habe nur ein Problem mit dem Syntax von deinem Code da werden mir zig verschiedene Fehlermeldungen angezeigt.
Kannst du vllt nochmal drüberschauen und ihn nochmal funktionsfähig schicken, weil ich bin zu schlecht in VBA, als dass ich das selber machen könnte.

AW: Doppelte Löschen
23.07.2014 17:43:19
Daniel
die einzige Fehlermeldung, die ich bekomme, kommt von dem Zeilenumbruch, den die Forumssoftware einfügt, wenn die Programmzeile zu lang ist.
die kannst du beheben, in dem du den Unterstrich und Zeilenumbruch entfernst:
 ...header:=xlno
ansonsten funktioniert der Code bei mir.
wenn du in zwei Zeilen Programmcode "zig" Fehlermeldungen produzierst, hast du wahrscheinlich noch einiges selber hinzugefügt.
Das solltest du mir zeigen, denn wenn ich nicht weiss was du machst, kann ich dir nicht sagen, was du falsch machst.
ausserdem würde ich dir erst mal empfehlen, die beschriebenen Schritte von Hand auszuführen, damit du kapierst, was der Code macht.
Wenn das dann zum gewünschten Ergebnis führt, dann lässt du mal den Recorder mitlaufen und schaust dir den aufgezeichneten Code an.
Gruß Daniel

Anzeige
AW: Doppelte Löschen
24.07.2014 10:57:20
Max
Hallo Daniel
Ok hat super funktioniert, wenn man des wegmacht:) vielen Dank!!
Bei mir kam wohl eine Fehlermeldung nach der Anderen, weil ich es nicht richtig verbessert habe.
Grüße
Max

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige