Hallo zusammen,
ich würde gerne folgende Aufgabenstellung mit VBA lösen:
Es gibt zu einem Datensatz in meiner Tabelle immer zwei passende Exceldateien. Der Dateiname ist bei beiden, bis auf das Ende, identisch (Bsp.: 0002_Mustermann_Max_12345678_BB.xls ----> 0002_Mustermann_Max_12345678_DB.xls). Die Basisdatei heißt ?????_BB.xls, die Datei, in der anschl. die Werte aus der Basisdatei hinterlegt werden sollen, heißt ?????_DB.xls.
Ich erhalte nun per Mail insgesamt mehrere tausend Basisdateien zurück, die ich in verschiedenen Ordnern speichere. Ich möchte nun per VBA die _BB.xls-Dateien in einem Ordner mit den passenden _DB.xls-Dateien in einem anderen Ordner abgleichen bzw. Daten aus der _BB-Datei in die _DB-Datei überspielen. Letzteres klappt für einzelne Dateien per Auswahl schon gut. Aufgrund der hohen Anzahl (final ca. 12.000 Dateien ) möchte ich jedoch den Prozess automatisieren. Den Ablauf stelle ich mir in etwa wie folgt vor:
1.) User gibt Ordner an oder wählt diesen aus, in dem _BB.xls-Dateien gespeichert wurden.
2.) User gibt Ordner an oder wählt diesen aus, in dem die dazugehörigen _DB.xls-Dateien gespeichert sind.
3.) Skript liest Datei für Datei den Ordner mit den _BB.xls-Dateien aus und sucht jeweils die passende _DB.xls-Datei (Bsp.: 0002_Mustermann_Max_12345678_BB.xls ----> 0002_Mustermann_Max_12345678_DB.xls)
4.) Skript trägt die Daten aus der _BB-Datei in die _DB-Datei ein, speichert diese und macht mit der nächsten Datei des Basisordners weiter, bis alle Dateien abgearbeitet wurden.
Ich hoffe ich habe die Anforderung verständlich formuliert, ansonsten fragt gerne. Ein wichtiger Hinweis ggf. noch: Ich nutze Excel 2003 und 2010, es wäre also klasse, wenn es auf beiden Systemen funktioniert (Thema FileSearch). Zur Not reicht aber auch eine Excel 2003 Lösung.
Vielen Dank vorab für eure Tipps, Hinweise und ggf. auch Teillösungen.
Beste Grüße
Referent
|