Anzeige
Archiv - Navigation
1452to1456
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

Zeilen Duplikate löschen

Zeilen Duplikate löschen
02.11.2015 10:13:52
robin
Hallo Community,
ich suche eine Möglichkeit um in einer Tabelle mit dynamischen Datenbereich die Zeilen-Duplikate zu löschen. Die Tabelle hat 9 Spalten. In der Tabelle stehen Inhalte mit einem grünen Dreieck oben links in der Zelle. Statt einer normalen Zahl steht dann zum Beispiel immer:
'20
da.
Ich gehe davon aus, dass das der Grund ist warum nachfolgende Funktion nicht klappt:
Dim wb As Workbook
Set wb = Workbooks.Open("Dateiname")
wb.Sheets("Status").Select
Sheets("Status").Range("$A$1:$E$65000").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5), _
Header:=xlYes
Workbooks("Dateiname").Close SaveChanges:=True
Bei einfachen Tabelleninhalten mit normalen Zahlen klappt das nämlich.
Falls Daten nun doppelt in dieses Dokument geladen werden, werden die 9 Spalten zunächst nach Datum (in Spalte 9) sortiert, anschließend soll nun die Prüfung erfolgen ob es doppelte Inhalte in den verschiedenen Zeilen gibt.
Habt ihr eine Idee wie man das nun umsetzen könnte, wenn man bedenkt, dass in den ersten 6 Spalten ein Wert/ eine Nummer immer mit ' beginnt ( sprich: '120 oder 'DO, etc.)
Danke für eure Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Duplikate löschen
02.11.2015 10:28:06
Daniel
HI
ob Text oder Zahl ist dem RemoveDuplicates egal.
es ignoriert auch das Texterkennungszeichen.
dh die Zahl 120 und der Text '120 sind Duplikate voneinander und werden entfernt (ausser dem ersten natürlich)
was mich etwas stutzig macht ist, dass du sagst, dass deine Tabelle 9 spalten gross ist, du aber das Duplikateentfernen nur auf die ersten 5 (A-E) Spalten anwendest.
dh die Spalten F-I bleiben unverändert.
beim RemoveDuplicates muss man vor dem Befehl den ganzen Zellbereich angeben, in welchem die Zeilen entfernt werden sollen und als ersten Parameter dann die Spalten, welche für die Duplikatsprüfung herangezogen werden sollen:
wenn deine Tabelle 9 Spalten breit ist dann:
Sheets("Status").Range("A:I").Removeduplicates Columns:=Array(1, 2, 3, 4, 5), Header:=xlyes
Gruß Daniel

Anzeige
AW: Zeilen Duplikate löschen
02.11.2015 10:40:38
robin
Hallo Daniel,
danke für die schnelle Antwort.
Mein Code Beispiel war etwas schlecht erklärt. Dieses habe ich für ein anderes Tabellenblatt verwendet, wo es nur 5 Spalten gibt. Ich hatte versucht dies auch für die Tabelle mit 9 Spalten anzuwenden, aber da kam ich nicht weiter.
Meinst du also um meine Tabelle nun auf Duplikate zu überprüfen und die Zeilen zu entfernen, brauch ich nur die eine Zeile zu ändern?
Sheets("Status").Range("$A$1:$I$1048576").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9), _
Stimmt das so mit dem Array, dass das dann auf 9 erweitert wird?
VG Robin

Anzeige
AW: Zeilen Duplikate löschen
02.11.2015 10:53:21
Daniel
Hi
im Array gibst du die relativen Spaltennummern derjenigen Spalten an, die für die Duplikatsprüfung herangezogen werden.
wenn du im Array alle Spalten von 1-9 angibst, müssen auch in zwei Zeilen alle Spaltenwerte (A-I) gleich sein, damit die Duplikatsprüfung die zweite Zeile löscht.
wenn nur die Werte von Spalte A und B übereinstimmen müssen, damit die Zeile als Duplikat erkannt wird, gibt man auch nur diese zwei Spalten im Array an.
Sheets("Status").Range("A:I").Removeduplicates Columns:=Array(1, 2), Header:=xlyes
Gruß Daniel

Anzeige
AW: Zeilen Duplikate löschen
02.11.2015 10:57:02
robin
Daniel,
danke dir für deine Hilfe,
ich habe da wohl etwas voreilig reagiert, denn jetzt klappt alles tadellos.
Vielen Dank :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige