Hallo Zusammen,
ich habe ein Problem, eine gut funktionierende ExcelVBA-Lösung zum Abgleich von Tabellen zu finden, die für sehr große Datensätze geeignet ist.
Hier die Schilderung:
ZielTabelle soll mit QuellTabelle abgeglichen werden über eindeutige Nummer in Spalte B.
Wenn in der ZielTabelle eine Nummer noch nicht vorhanden ist, die in der QuellTabelle aber vorhanden ist, soll diese in der ZielTabelle aufgenommen werden.
Wenn in der ZielTabelle eine Nummer vorhanden ist, die aber in der QuellTabelle nicht (mehr) vorhanden ist, soll in ZielTabelle im Freifeld4 der Hinweis erscheinen, "Nummer im Stamm nicht mehr vorhanden".
Danach sollen alle Werte aus Quelltabelle der Spalten A, C, D zur jeweiligen Nummer in die Zieltabelle übertragen werden. Die Freifelder bleiben davon unberührt.
Problem: Das sind sehr große Datensätze, tw. mehr als 20.000 Zeilen und mehr als 60 Spalten in beiden Tabellen. Das Gute ist, dass die zusätzlichen Spalten in der ZielTabelle tatsächlich hinten dranhängen.
Ziel Tabelle |
|
|
|
|
|
|
|
A |
B |
C |
D |
E |
F |
G |
H |
GH |
Nummer |
Bewertung |
PLZ |
Freifeld1 |
Freifeld2 |
Freifeld3 |
Freifeld4 |
5555 |
20 |
|
50000 |
AAAAAAA |
|
|
|
5555 |
21 |
|
50001 |
BBBBBBBB |
01.02.2015 |
2500 |
|
5555 |
27 |
Gut |
50002 |
|
|
|
|
5555 |
31 |
Gut |
50003 |
DDDDDDD |
01.10.2016 |
1000 |
|
5557 |
35 |
Gut |
50004 |
EEEEEEEEE |
|
700 |
|
5557 |
38 |
Schlecht |
50005 |
FFFFFFFFF |
27.06.2014 |
1900 |
|
5557 |
41 |
Schlecht |
50006 |
GGGGGGGG |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quell Tabelle |
|
|
|
|
|
|
A |
B |
C |
D |
|
|
|
|
GH |
Nummer |
Bewertung |
PLZ |
|
|
|
|
5555 |
20 |
Gut |
50000 |
|
|
|
|
5555 |
21 |
Gut |
50001 |
|
|
|
|
4444 |
90 |
Mittelmäßig |
60000 |
|
|
|
|
4444 |
91 |
Mittelmäßig |
60000 |
|
|
|
|
5555 |
27 |
Gut |
50002 |
|
|
|
|
5555 |
31 |
Gut |
50003 |
|
|
|
|
5557 |
35 |
Gut |
50004 |
|
|
|
|
5557 |
41 |
Schlecht |
50006 |
|
|
|
|
Die ZielTabelle sollte nach der Aktualisierung also so aussehen:
GH |
Nummer |
Bewertung |
PLZ |
Freifeld1 |
Freifeld2 |
Freifeld3 |
Freifeld4 |
5555 |
20 |
Gut |
50000 |
AAAAAAA |
|
|
|
5555 |
21 |
Gut |
50001 |
BBBBBBBB |
01.02.2015 |
2500 |
|
5555 |
27 |
Gut |
50002 |
|
|
|
|
5555 |
31 |
Gut |
50003 |
DDDDDDD |
01.10.2016 |
1000 |
|
5557 |
35 |
Gut |
50004 |
EEEEEEEEE |
|
700 |
|
5557 |
38 |
Schlecht |
50005 |
FFFFFFFFF |
27.06.2014 |
1900 |
"Nummer im Stamm nicht mehr vorhanden" |
5557 |
41 |
Schlecht |
50006 |
GGGGGGGG |
|
|
|
4444 |
90 |
Mittelmäßig |
60000 |
|
|
|
|
4444 |
91 |
Mittelmäßig |
60000 |
|
|
|
|
Ich hoffe, mir kann jemand mit einer gut arbeitenden Lösung helfen!
Vielen Dank
Tanja
|