Dateien zusammenfassen (importieren)

Aus ver­schieden­sten Grün­den kann es sin­nvoll oder erforder­lich sein, dass aus mehreren Arbeitsmap­pen die Inhalte in eine einzige Mappe zusam­menge­fasst wer­den sollen oder müssen. Prinzip­iell wer­den Dat­en in eine neue Mappe importiert. Die Ursprungs­dat­en kön­nen dabei in unter­schiedlichen For­mat­en vor­liegen, beispiel­sweise als Text­datei (*.txt, *.csv, …) oder als Excel-Datei (*.xls, *.xlsx, *.xlsm, …). Neben der Voraus­set­zung, dass alle in dem Vor­gang zu importieren­den Dateien vom gle­ichen Typ sind, also alle die gle­iche Dateinamen­er­weiterung haben, gibt es nur eine einzige klare Bedin­gung für einen „sauberen” Import: die einzufü­gen­den Dateien müssen alle den gle­ichen Auf­bau haben; also gle­iche Spal­tenzahl, gle­iche Spal­tenpo­si­tion; und alle Tabellen sind entwed­er alle mit oder alle ohne Über­schrift-Zeile erstellt.

Die einzel­nen Dateien kön­nen entwed­er in jew­eils ein einziges neues Tabel­len­blatt einge­fügt wer­den oder alle nacheinan­der in ein einziges Sheet. Als weit­ere Voraus­set­zung gilt: Text­dateien sollen immer nur kom­plett über­nom­men wer­den, bei Bedarf auch ohne Kopfzeile.

Bei Excel-Dateien als Daten­liefer­ant wird in diesen Lösungsvorschlä­gen davon aus­ge­gan­gen, dass immer das erste Arbeits­blatt der Quell-Datei importiert wird, was aber dur­chaus im VBA-Code angepasst wer­den kann. – Weit­er­hin ist es denkbar, dass die zu importieren­den Dat­en eine Kopfzeile (Über­schrift) haben oder nicht. Ist dieses der Fall, dann soll (natür­lich) nur eine einzige Kopfzeile in die Ziel­d­atei einge­fügt wer­den.

▲ nach oben …

Die eine Möglichkeit zur Erre­ichung des Ziels ist copy and paste. Bei weniger als ein­er Hand­voll Files mag das ja noch trag­bar sein, aber wenn es mehrere Dateien sind oder der Vor­gang immer wieder durchge­führt wer­den muss, weil beispiel­sweise Dat­en aktu­al­isiert wor­den sind, dann bietet sich eine Automa­tisierung per Makro (VBA-Pro­gramm) an. Das geht auch sehr gut, wenn die oben genan­nte Voraus­set­zung erfüllt ist, dass die zusam­men­zuführen­den Tabel­len­blät­ter aller Dateien iden­tisch aufge­baut sind.

Eine weit­ere Voraus­set­zung ist, dass alle zusam­men­z­u­fassenden Files in nur einem (1) Verze­ich­nis sind. Und es wer­den auch alle in diesem Ord­ner enthal­te­nen Dateien mit der entsprechen­den Endung für die Zusam­men­fas­sung ver­wen­det. Dateien mit anderen als den im Code fest­gelegten Endun­gen wer­den nicht berück­sichtigt. Das bedeutet beispiel­sweise: Es wer­den alle *.txt-Dateien aus dem Verze­ich­nis C:\ImportData\ von dem Makro ein­ge­le­sen. Oder von allen *.xlsx-Dateien die Dat­en des ersten Tabel­len­blattes.

▲ nach oben …

Hin­weis: Sie wer­den nicht umhin kom­men, die eine oder andere Änderung im VBA-Code der hier vorgestell­ten Muster­lö­sun­gen vorzunehmen. Ins­beson­dere sind dieses fest ver­ankerte Werte für Pfade der Quell­dateien. Wenn Sie kein­er­lei Erfahrung mit Pro­gram­mierung haben, empfehlen wir Ihnen, fachkundi­ge Hil­fe in Anspruch zu nehmen. Bei Bedarf ste­hen wir Ihnen auch gerne mit Rat und Tat zur Seite, ein­fach eine Mail an uns.

Wir stellen Ihnen hier (nach und nach) ver­schiedene Lösun­gen bzw. Lösungsan­sätze vor. Für Tests von Ihrer Seite ste­hen Ihnen auch Mus­ter­dat­en in den For­mat­en *.xls (Excel 2003), *.xlsx (Excel ab 2007), *.csv (mit Semi­kolon getren­nt) sowie *.txt (mit Tab­stopp getren­nt) und natür­lich jew­eils ein Excel-Work­book mit dem VBA-Code zur Ver­fü­gung.

Um Missver­ständ­nis­sen vorzubeu­gen: Es ist dur­chaus möglich, auch nur einzelne Dateien für den Import auszuwählen. Auch For­matierun­gen (aus Excel-Dateien) kön­nen über­nom­men wer­den. Bei solchen Anforderun­gen ist entwed­er eine ganze Menge an Kreativ­ität von Ihrer Seite gefragt, ein guter des Pro­gram­mierens kundi­ger Kol­lege oder Fre­und oder ein­fach ein Unternehmen, was sich die Hil­fe für Anwen­der „auf die Fah­nen geschrieben hat”. Da denken wir natür­lich an erster Stelle an GMG Com­put­er-Con­sult­ing.  😎

▲ nach oben …

Hin­weis: Wir räu­men ein. dass manch­es „ele­gan­ter” pro­gram­miert wer­den kann. Vielle­icht einige zehn­tel Sekun­den schneller. Aber bei diesen Tem­plates (Mus­ter­dateien) ste­ht die Funk­tion­al­ität und vor allen Din­gen die Trans­parenz und Nachvol­lziehbarkeit des Codes im Vorder­grund. Sie als Anwen­der sollen Änderun­gen vornehmen kön­nen, ohne dabei einen „Blind­flug” zu machen.

Die fol­gende Tabelle ist so aufge­baut: In der linken Spalte sehen Sie die Verknüp­fung zum Beitrag mit einem möglichst kurzem Namen, mit­tig ste­ht eine knappe Beschrei­bung des Inhaltes und rechts ist das Datum der Veröf­fentlichung oder der let­zten bedeu­ten­den Aktu­al­isierung ver­merkt. In der Titelzeile der Tabelle kön­nen Sie die Sortier­möglichkeit­en nutzen.

▲ nach oben …

Link zum Down­loadBeschrei­bungDatum
- – - – - – -Noch keine Links einge­tra­gen [41]1–1‑2000
[NachOben­Let­zte Verweis=„Menü: ML-Dat­en zusam­men­fassen”]