Viele Excel-Dateien zusammenführen
Hallo,
ich habe einige (über 300) Excel-Dateien, die ich automatisch zusammenführen möchte (z.B. in eine CSV-Datei).
Einige Schwierigkeiten hierbei:
- Jede Datei hat mehrere Registerkarten und diese Information sollte erhalten bleiben
- Am liebsten würde ich auswählen, welche Daten übernommen werden
- Aus den Feldern möchte ich nur die (berechneten) Werte, aber nicht die Formeln/Bezüge speichern
- Im Idealfall möchte ich Zellen nur kopieren, wenn sie nicht leer sind (also mit einer Bedingung)
Beispiel:
Ich stelle mir den Idealfall so vor:
1. Kopiere aus Registerkarte "Eins" die Felder A3 bis M15
2. Füge ins CSV ein (der Name der Registerkarte sollte beim Einfügen als Information erhalten bleiben): "Eins", A3, B3, ..., M3 \n "Eins", A4, B4, ... M4
3. Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4 bis B18
4. Füge sie ins CSV ein "Zwei", B4, B5, ..., B18 (...)
5. Öffne nächste Datei und führe Schritte 1-4 aus
Ich habe mit Makros noch keine große Erfahrung, so dass ich nicht weiß, ob das damit möglich wäre oder ob diese Aufgabe eine "größere Anstrengung" wäre (und es vermutlich schneller ginge, alles von Hand zu kopieren, wobei ich mir dies ersparen wollte).
Hat jemand einen Tipp?
Vielleicht gibt es ein Programm, mit dem man das erledigen kann?
Vielen Dank schon mal!
ich habe einige (über 300) Excel-Dateien, die ich automatisch zusammenführen möchte (z.B. in eine CSV-Datei).
Einige Schwierigkeiten hierbei:
- Jede Datei hat mehrere Registerkarten und diese Information sollte erhalten bleiben
- Am liebsten würde ich auswählen, welche Daten übernommen werden
- Aus den Feldern möchte ich nur die (berechneten) Werte, aber nicht die Formeln/Bezüge speichern
- Im Idealfall möchte ich Zellen nur kopieren, wenn sie nicht leer sind (also mit einer Bedingung)
Beispiel:
Ich stelle mir den Idealfall so vor:
1. Kopiere aus Registerkarte "Eins" die Felder A3 bis M15
2. Füge ins CSV ein (der Name der Registerkarte sollte beim Einfügen als Information erhalten bleiben): "Eins", A3, B3, ..., M3 \n "Eins", A4, B4, ... M4
3. Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4 bis B18
4. Füge sie ins CSV ein "Zwei", B4, B5, ..., B18 (...)
5. Öffne nächste Datei und führe Schritte 1-4 aus
Ich habe mit Makros noch keine große Erfahrung, so dass ich nicht weiß, ob das damit möglich wäre oder ob diese Aufgabe eine "größere Anstrengung" wäre (und es vermutlich schneller ginge, alles von Hand zu kopieren, wobei ich mir dies ersparen wollte).
Hat jemand einen Tipp?
Vielleicht gibt es ein Programm, mit dem man das erledigen kann?
Vielen Dank schon mal!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201220
Url: https://administrator.de/contentid/201220
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
25 Kommentare
Neuester Kommentar
Hallo,
wie oft kommt es denn vor, dass du sowas machen musst ?
Also sprich über 300 Excel-Dateien zusammenführen musst ?
Wenn´s in der Zukunft öfter vorkommt, kann ich die nur VBA und/oder VBS empfehlen, ansonsten per Hand machen
Grüße
Exzellius
wie oft kommt es denn vor, dass du sowas machen musst ?
Also sprich über 300 Excel-Dateien zusammenführen musst ?
Wenn´s in der Zukunft öfter vorkommt, kann ich die nur VBA und/oder VBS empfehlen, ansonsten per Hand machen
Grüße
Exzellius
Hi,
wenns wirklich "nur":
1. Kopiere aus Registerkarte "Eins" die Felder A3 bis M15
2. Füge ins CSV ein (der Name der Registerkarte sollte beim Einfügen als Information erhalten bleiben): "Eins", A3, B3, ..., M3 \n "Eins", A4, B4, ... M4
3. Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4 bis B18
4. Füge sie ins CSV ein "Zwei", B4, B5, ..., B18 (...)
5. Öffne nächste Datei und führe Schritte 1-4 aus
sein soll, dann kann ich dir da was in VBA basteln ;)
wie soll denn die CSV genau aufgebaut sein ?
Grüße
Exzellius
[EDIT]
bzw. wie sind denn die Excel-Dateien aufgebaut ?
wie heißen die Excel-Dateien ?
liegen alle Dateien im selben Verzeichnis ?
etc. etc. ;)
[/EDIT]
wenns wirklich "nur":
1. Kopiere aus Registerkarte "Eins" die Felder A3 bis M15
2. Füge ins CSV ein (der Name der Registerkarte sollte beim Einfügen als Information erhalten bleiben): "Eins", A3, B3, ..., M3 \n "Eins", A4, B4, ... M4
3. Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4 bis B18
4. Füge sie ins CSV ein "Zwei", B4, B5, ..., B18 (...)
5. Öffne nächste Datei und führe Schritte 1-4 aus
sein soll, dann kann ich dir da was in VBA basteln ;)
wie soll denn die CSV genau aufgebaut sein ?
Grüße
Exzellius
[EDIT]
bzw. wie sind denn die Excel-Dateien aufgebaut ?
wie heißen die Excel-Dateien ?
liegen alle Dateien im selben Verzeichnis ?
etc. etc. ;)
[/EDIT]
Hi,
hmm wie stellst du dir den Aufruf der Excel-Dateien vor ?
Ich könnte einfach alle gleichzeitig öffnen (was allerdings ziemlich sicher den PC abstürzen lässt)
oder ich muss irgend ein Muster beachten, wonach ich sie Stück für Stück öffne.#
Ich könnte auch jedes mal eine Benutzeroberfläche einblenden lassen, in der du dann eine Excel-Liste auswählen musst.
Das mit dem kleinen Makro basteln sollte kein Problem sein und ja das kommt dann in die "neue" Excel-Liste
bzgl. des Formats, wie soll das Ganze zusammengefasst sein ? Direkt in die Excel oder ein eine .CSV-Datei ?
Wenn CSV, dann wie soll die aussehen ;)
Im Stil von
Blatt1;Zellenwert1;Zellenwert2;...
Blatt2;Zellenwert1;Zellenwert2;...
etc. ?
Grüße
Exzellius
[edit]
Die Excel-Dateien liegen alle in einem Verzeichnis, die Namen haben kein bestimmtes Muster (nur Nummern .xls)
[/edit]
Die Excel-Dateien liegen alle in einem Verzeichnis, die Namen haben kein bestimmtes Muster (nur Nummern .xls)
[/edit]
hmm wie stellst du dir den Aufruf der Excel-Dateien vor ?
Ich könnte einfach alle gleichzeitig öffnen (was allerdings ziemlich sicher den PC abstürzen lässt)
oder ich muss irgend ein Muster beachten, wonach ich sie Stück für Stück öffne.#
Ich könnte auch jedes mal eine Benutzeroberfläche einblenden lassen, in der du dann eine Excel-Liste auswählen musst.
Das mit dem kleinen Makro basteln sollte kein Problem sein und ja das kommt dann in die "neue" Excel-Liste
bzgl. des Formats, wie soll das Ganze zusammengefasst sein ? Direkt in die Excel oder ein eine .CSV-Datei ?
Wenn CSV, dann wie soll die aussehen ;)
Im Stil von
Blatt1;Zellenwert1;Zellenwert2;...
Blatt2;Zellenwert1;Zellenwert2;...
etc. ?
Grüße
Exzellius
Hi,
so noch zwei Fragen dann mach ich mich an die Arbeit ;)
1) du brauchst keinen Verweis in welcher Zelle die Information vorher war ?
2) wenns leer ist und du einen Zellenverweis brauchst, soll der trotzdem drin sein oder nicht ?
Grüße
Exzellius
so noch zwei Fragen dann mach ich mich an die Arbeit ;)
1) du brauchst keinen Verweis in welcher Zelle die Information vorher war ?
2) wenns leer ist und du einen Zellenverweis brauchst, soll der trotzdem drin sein oder nicht ?
Grüße
Exzellius
Hi,
wenn jetzt z.B. folgende Excel dabei ist:
Tabellenblatt 1
A1:"Hier steht irgendein Text"
A2:"123412"
A3:leer
A4:"noch ein Text"
dann soll das später so aussehen oder ?
A1:Tabellenblatt_1
A2:"Hier steht irgendein Text"
A3:"123412"
A4:"noch ein Text"
B1:Tabellenblatt_2
B2:Daten
B3:Daten ...
Grüße
Exzellius
wenn jetzt z.B. folgende Excel dabei ist:
Tabellenblatt 1
A1:"Hier steht irgendein Text"
A2:"123412"
A3:leer
A4:"noch ein Text"
dann soll das später so aussehen oder ?
A1:Tabellenblatt_1
A2:"Hier steht irgendein Text"
A3:"123412"
A4:"noch ein Text"
B1:Tabellenblatt_2
B2:Daten
B3:Daten ...
Grüße
Exzellius
Hi,
ok ;) gib mir ein paar Minütchen zum zusamenbasteln
Grüße
Exzellius
ok ;) gib mir ein paar Minütchen zum zusamenbasteln
Grüße
Exzellius
Nochmal ne Nachfrage
Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4
bis B18
meint das, dass nur wenn die Zelle B4 nicht leer ist, dass dann die anderen Registerkarten gemacht werden sollen ?
und:
haben die Registerkaren einheitliche Namen ? also wie im Beispiel "eins","zwei",etc.?
Wenn jeweils Zelle B4 nicht leer ist, dann kopiere aus den Registerkarten "Zwei" bis "Zwölf" die Felder B4
bis B18
meint das, dass nur wenn die Zelle B4 nicht leer ist, dass dann die anderen Registerkarten gemacht werden sollen ?
und:
haben die Registerkaren einheitliche Namen ? also wie im Beispiel "eins","zwei",etc.?
also wenn in "Übersicht" Zelle B4 nicht leer dann mache weiter mit "Eins","Zwei",...
gut das wäre geklärt
soll ich jetzt die Zellen in den Reigstern Senkrecht auslesen oder Waagerecht ? ;)
D.h.
soll ich folgendermaßen auslesen A1 -> A2 -> A3 -> ... oder A1 -> B1 -> C1 -> ... ?
gut das wäre geklärt
soll ich jetzt die Zellen in den Reigstern Senkrecht auslesen oder Waagerecht ? ;)
D.h.
soll ich folgendermaßen auslesen A1 -> A2 -> A3 -> ... oder A1 -> B1 -> C1 -> ... ?
Hi,
ok dann werd ich waagerecht auslesen und einfügen
Eingefügt werden sollen sie in jedem Fall waagerecht. Also so, dass man es später einfach als CSV speichern und z.B. in
eine Datenbank importieren kann.
eine Datenbank importieren kann.
ok dann werd ich waagerecht auslesen und einfügen
Nochmal ne Nachfrage ;)
kannst du mir sagen, wieviele Zeilen deine Excel-Listen maximal haben werden bzw. wieviele Spalten ?
Und auf der Registerkarte "Übersicht" soll auch kopiert werden ?
kannst du mir sagen, wieviele Zeilen deine Excel-Listen maximal haben werden bzw. wieviele Spalten ?
Und auf der Registerkarte "Übersicht" soll auch kopiert werden ?
Soooo wie kann ich dir die Excel-File jetzt zukommen lassen ?
Per Quellcode geht das leider ungünstig
Kannst mir deine Mail-Adresse z.B. per PN schreiben oder du wartest bis ich daheim bin und kannst es dann vom File-Server runterladen ;)
Grüße
Exzellius
Per Quellcode geht das leider ungünstig
Kannst mir deine Mail-Adresse z.B. per PN schreiben oder du wartest bis ich daheim bin und kannst es dann vom File-Server runterladen ;)
Grüße
Exzellius
Gerne doch
Ich schreib die File-Server-Adresse nicht hier ins Forum
bei späterem Interesse an dem Skriptchen einfach eine PN an mich und ihr bekommt Adresse und PW für den Server
Grüße
Exzellius
Ich schreib die File-Server-Adresse nicht hier ins Forum
bei späterem Interesse an dem Skriptchen einfach eine PN an mich und ihr bekommt Adresse und PW für den Server
Grüße
Exzellius
Hi,
meinen Respekt !
Hast es wirklich toll angepasst :D
Wenn du willst kannst du heut abend das Ding auf den Filer hochladen (müsste nur die Benutzerrechte überarbeiten )
Grüße
Exzellius
meinen Respekt !
Hast es wirklich toll angepasst :D
Wenn du willst kannst du heut abend das Ding auf den Filer hochladen (müsste nur die Benutzerrechte überarbeiten )
Grüße
Exzellius
Hallo,
ich habe so ein ähnliches Problem. Vielleicht kannst Du auch mir auch weiterhelfen.
Habe 3 Tabellenblätter Jan. Feb. Mrz. April, welche ich auf einer Seite miteinander vergleichen möchte.
Es sind drauf Materialnummer, Bezeichnung Menge und Wert. Die Artikel-Nummern sind aber nicht immer die gleiche.
Viele Grüße
Flohwalzer
ich habe so ein ähnliches Problem. Vielleicht kannst Du auch mir auch weiterhelfen.
Habe 3 Tabellenblätter Jan. Feb. Mrz. April, welche ich auf einer Seite miteinander vergleichen möchte.
Es sind drauf Materialnummer, Bezeichnung Menge und Wert. Die Artikel-Nummern sind aber nicht immer die gleiche.
Viele Grüße
Flohwalzer
Hallo Flohwalzer,
wenn ich dir helfen soll, müsstest du dein Problem etwas genauer erläutern
Wie ist die Tabelle genau formatiert ?
Auf welchem Tabellenblatt steht was in welcher Spalte und Zeile etc.
was soll mit den Daten gemacht werden, wenn sie mal ausgelesen sind.
Möchtest du noch Materialnummer filtern ?
Hast du Erfahrung im schreiben von Makros in Excel?
Andere Programmier-Erfahrung?
Grüße
Exze
wenn ich dir helfen soll, müsstest du dein Problem etwas genauer erläutern
Wie ist die Tabelle genau formatiert ?
Auf welchem Tabellenblatt steht was in welcher Spalte und Zeile etc.
was soll mit den Daten gemacht werden, wenn sie mal ausgelesen sind.
Möchtest du noch Materialnummer filtern ?
Hast du Erfahrung im schreiben von Makros in Excel?
Andere Programmier-Erfahrung?
Grüße
Exze