Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Differenzzeilen in großen Tabellen

Differenzzeilen in großen Tabellen
03.11.2014 14:13:30
stormlamp
Hallo Zusammen,
ich möchte 2 Tabellen vergleichen, die jeweils über 120.000 Zeilen haben.
Tabelle 2 ist immer größe als Tabelle 1 und alle Zeilen von Tabelle 1 sind auch in Tabelle 2 enthalten.
In Spalte 3 beider Tabellen steht jeweils der Index, an dem festgestellt werden kann, ob diese Zeile von Tabelle 2 schon in Tabelle 1 enthalten ist. Wenn dieser Wert nicht in Spalte 3 von Tabelle 1 gefunden wird, soll die gesamte Zeile aus Tabelle 2 in Tabelle 3 kopiert werden, beginnend mit Zeile 2 und dann immer unten anfügen.
Ich habe versucht, dies über eine Makroaufzeichnung hin zu bekommen, aber wenn ich dann versuche, alle Zeilen, die ein "#NV" haben zu filten und zu kopieren, macht mein Excel nicht mehr mit.
Könnte mir jemand mit so einer programmierten Schleife helfen.
Gruß
Hans

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Dann filter mal nach #N/A
03.11.2014 14:52:16
stormlamp
Hi Boris,
danke für die Info, das Sprachen-Babylon habe ich übersehen :-)
Gruß
Hans

Anzeige
AW: Differenzzeilen in großen Tabellen
03.11.2014 14:34:21
Daniel
Hi
Bei der Datenmenge macht man das besser ohne Schleife.
Ausserdem gehe ich davon aus, dass ich die Tabellen beliebig umsortieren darf.
Durch die passende Sortierung lässt sich die Aufgabe schneller und einfacher lösen:
Sub test()
With Sheets("Tabelle1").UsedRange
.Sort key1:=.Cells(1, 3), order1:=xlAscending, Header:=xlYes
End With
With Sheets("Tabelle2").UsedRange
With .Columns(.Columns.Count).Resize(.Rows.Count - 1, 1).Offset(1, 1)
.FormulaR1C1 = "=IFERROR(If(VLookUp(RC3,Tabelle1!C3,1,true)=RC3,false,1),1)"
.Formula = .Value
If WorksheetFunction.Sum(.Cells) > 0 Then
.EntireRow.Sort key1:=.Cells(.Column, 1), order1:=xlAscending, Header:=xlYes
.SpecialCells(xlCellTypeConstants, 1).EntireRow.Copy
Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial  _
xlPasteAll
Sheets("Tabelle3").Columns(.Column).ClearContents
End If
.ClearContents
End With
End With
End Sub
Gruß Daniel

Anzeige
AW: Differenzzeilen in großen Tabellen
03.11.2014 14:46:28
stormlamp
Hallo Daniel,
vielen Dank, funktioniert prima und sehr schnell.
Freundliche Grüße
Hans
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige