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

Datenabgleich zw. 2 Tabellen - VBA

Datenabgleich zw. 2 Tabellen - VBA
27.11.2014 10:49:40
Co
Hallo,
Ich verzweifle schon seit Tagen an einem Problem und hoffe, dass ihr mir dabei weiterhelfen könnt!
Ich habe 2 Tabellen, welche ich miteinander abgleichen möchte. Tabelle1 ist die zu aktualisierende und Tabelle2 liefert die „neuen Daten“. Diese befinden sich auf unterschiedlichen Tabellenblättern( Arbeitsblatt1 und Arbeitsblatt2).
Beide Tabellen besitzen eine Spalte mit einer eindeutigen Kennung. In Tabelle1 Spalte B in Tabelle 2 Spalte A.
Nun möchte ich alle Zeilen aus Tabelle2, welche nicht in Tabelle1 vorhanden sind an diese, in die nächste freie Zeile einfügen.
Hierbei soll nicht die komplette Zeile übergeben werden sondern nur die Werte aus den Spalten A, D und G in die Spalten B, C und D geschrieben werden.
Ich habe zu ähnlichen Datenabgleichen zweier Tabellen, schon einige Einträge über Google gefunden. Jedoch waren alle sehr unterschiedlich und ich konnte leider keine auf meine Problemstellung umwandeln.
Anbei habe ich eine Beispieldatei zum besseren Verständnis angehangen:
https://www.herber.de/bbs/user/94061.xlsx
Schonmal vielen Dank für jegliche Mühen die ihr euch macht!
LG
Co

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenabgleich zw. 2 Tabellen - VBA
28.11.2014 09:21:14
Co
Hallo Peter (hpo),
erstmal ein riesiges Dankeschön für deine nahezu perfekte Antwort!
Das Makro macht exakt was ich mir vorgestellt habe. Jedoch gibt es dabei ein gravierendes Problem...
Ich habe das Makro an meine Datei angepasst. Die einzige inhaltliche Veränderung ist, dass ich anstatt 3 Spalten jetzt 6 Spalten aus der Tabelle übertrage.
Mein Problem ist, dass die Übergabe der Werte extreeeem langsam ist! So langsam, dass ich die Eingabe in jedem Feld mit dem Auge nachverfolgen kann...
Gibt es ihrgeneine Möglichkeit die Prozedur zu beschleunigen?
Vielen Dank und Grüße
Co

Anzeige
AW: Datenabgleich zw. 2 Tabellen - VBA
28.11.2014 11:52:15
Peter
Hallo Co
Da die beiden Tabellen mit jeweils einer Schleife durchlaufen werden, kann es natürlich auch etwas Dauern wenn die Tabellen sehr groß sind.
Sollten auch noch automatische Berechnungen durchgeführt werden so Dauert dies auch noch.
Gibt es eine möglichkeit die Datei hochzuladen?
Viele Grüße
Peter (hpo)

AW: Datenabgleich zw. 2 Tabellen - VBA
28.11.2014 13:09:34
Co
Hallo Peter (hpo),
ich habe durch Ausprobieren den Hauptgrund für die lange Dauer der Berechnung herausfinden können.
Und zwar besitzt meine Zieltabelle auf Arbeitsblatt1 im Original rechts neben den Spalten mit den "eingelesenen Werten" weitere Spalten. Diese Spalten beinhalten alle Formeln, welche bei Ablauf der Schleife vermutlich neu eingefügt bzw berechnet werden(richtig!?).
Daher habe ich meine Tabelle in Arbeitsblatt1 großzügig erweitert, so dass die Spalten links, in die die Werte aus Arbeitsblatt2 eingefügt werden noch leer sind. Die Spalten rechts davon, mit den Formeln jedoch bereits vorhanden sind.
Den Quellcode habe ich so angepasst, dass die neuen Zeilen nicht unter die Tabelle eingefügt werden, sondern unter die letzte Zeile mit einem Wert in der Spalte B (eindeutige Kennung).
Funktioniert auch einwandfrei und zumindest etwas schneller als zu vor ;) Wenn du jedoch auf eine bessere Lösung kommst, wäre das natürlich super!
Meine Original Datei kann ich aus Gründen des Datenschutzes leider nicht zur Verfüfung stellen.
Daher habe ich die Beispieldatei best möglich angepasst.
https://www.herber.de/bbs/user/94098.xlsm
Die Originaldatei besitzt 7 Tabellenblätter und einige Makros und ist um die 3Mb groß :D Spielt der Umfang der Datei für die einzelne Berechnung eine Rolle?
P.S: Ich würde gerne in die Schleife ein neue funktion einfügen. Wenn die eindeutige Kennung bereits vorhadnen ist, soll überprüft werden ob sich der Mitarbeiter (Spalte C bzw. D) sich geändert hat. Falls ja sollte dieser mit dem neuen Wert überschrieben werden. Wäre das möglich?
Vielen Dank nochmal für deine Mühe und Grüße
Co

Anzeige
AW: Datenabgleich zw. 2 Tabellen - VBA
01.12.2014 13:41:40
Peter
Hallo Co
Wenn ich es richtig verstanden habe ergibt sich die eindeutige Kennung duch Nr,Projekt,Mitarbeiter
Dies bedeutet doch das wenn die eindeutige Kennung übereinstimme muß auch der Mitarbeiter stimmen, da ja sonst die eindeutige Kennung nicht mehr gleich wäre.
Ansonsten probier mal:
If r.Offset(0, 1).Value e.Offset(0, 3).Value Then r.Offset(0, 1).Value = e.Offset(0, 3).Value
Viele Grüße
Peter (hpo)

AW: Datenabgleich zw. 2 Tabellen - VBA
02.12.2014 12:29:47
Co
Hallo Peter(hpo),
Danke für deine Hilfe, bin zwischenzeitlich auf die gleiche Lösung gekommen.
Funktioniert alles bestens, abgesehen von der Geschwindigkeit! ;)
Nochmals vielen Dank, du hast mir extrem weitergeholfen!
Grüße
Co
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige