Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

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

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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige