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

Dateien zusammenführen

Dateien zusammenführen
25.09.2014 17:07:32
Alex
Werte Experten,
ich würde gerne Daten aus mehreren Dateien zusammenführen und bitte dazu um Hilfe.
Ich habe innerhalb eines Ordners zwischen 1-50 Dateien die ident aufgebaut aber unterschiedlich benannt sind. Daraus sollen Werte aus einzelnen Zellen und der Dateiname in einer Datei entsprechend meiner Vorlage gesammelt werden.
https://www.herber.de/bbs/user/92819.xlsx
Das Registerblatt Zusammenfassung soll die Datei darstellen welche die Werte sammelt, die Register Datei 1 und Datei 2 stehen für die einzelnen Dateien.
Wie schaffe ich es, die Daten aus den einzelnen Dateien so zu sammeln und darzustellen wie in meiner Vorlage aus den Registern?
Vielen Dank für die Hilfe,
Gruß Alex

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien zusammenführen
26.09.2014 20:27:00
Michael
Hallo Alex!
Das Problem hatte ich auch mal. Ich wurde in der Recherche fündig. Probier das bitte.
VG
Michael H

AW: Dateien zusammenführen
26.09.2014 21:17:44
Peter
Hallo Alex,
ich habe mal die ganzen Formeln, die in der Zusammenfassung stehen, in die von mir eingefügte Tabelle1 geschrieben. Die Formeln in der Zusammenfassung habe ich gelöscht. Von Tabelle1 werden die Formeln mit Hilfe des "Makro1()" in die einzelnen Dateien kopiert. Die Formeln bekommen dadurch ihre Basis und weisen als Ergebnisse die gewünschten Werte auf. Die Werte werden alsdann durch "Transponieren" in die Zusammenfassung übertragen. Voraussetzung ist natürlich, dass die Dateien alle exakt denselben Aufbau haben! Probier mal mit der folgenden Datei aus.
https://www.herber.de/bbs/user/92847.xlsm
Die zweite Datei zeigt den Zustand nach der Ausführung von Makro1.
https://www.herber.de/bbs/user/92848.xlsm
Irgendetwas stimmt nicht mit der von Dir hochgeladenen Datei. Ich bekam laufend Warnhinweise auf meinen Bildschirm, die ich nicht abstellen konnte.
Mit freundlichem Gruß
Peter Kloßek

Anzeige
AW: Dateien zusammenführen
26.09.2014 22:18:47
Werner
Hallo
hatte das Problem auch, habe damals gesucht und mit Anpassung folgendem Code sehr gute Ergebnisse erreicht.
https://www.google.com/url?q=https://www.herber.de/forum/archiv/940to944/942000_Zellen_aus_nZeilen_und_nDateien_kopieren_und_in.html&sa=U&ei=HDUCVKiSBcvsaJ3DgeAM&ved=0CBIQFjAGODw&client=internal-uds-cse&usg=AFQjCNFJxdhwbuYK9Nkp52ip5oy94WjUMg
Zellen aus n-Zeilen und n-Dateien kopieren und
Hallo Simone,
hier mal das Grundgrüst um die Exceldateien zu suchen, in einer Schleife zu öffnen und bestimmte Daten aus den Blättern der Quelldateien in die Sammeldatei zu übertragen.
Da du über die zu kopierenden Zellbereich(e) keine speziellen Angaben gemacht hast, hab ich hierfür beispielhaft eine Kopierzeile eingefügt, diese müßtest du noch an deine Bedürfnisse anpassen. Ebenso ggf. die Neuberechnung der jeweils nächsten Einfügezeile (lZeileneu).
Das Makro kannst du in einer beliebigen Excel-Datei speichern. Jedoch nicht in einem der Verzeichnisse, die du auswerten willst!
Gruß
Franz
Sub DatenSammeln()
Dim wbNeu As Workbook, wksNeu As Worksheet, lZeileneu As Long
Dim wbQuelle As Workbook, wksQuelle As Worksheet, strQuelle, i As Integer
Dim strVerzeichnis, VerzAktuell As String, DateiNr As Integer
'Verzeichnis durch Wahl einer Datei wählen
VerzAktuell = VBA.CurDir
strVerzeichnis = Application.GetOpenFilename(Filefilter:="Exceldateien(*.xls),*.xls", _
Title:="Bitte Datei im gewünschten Verzeichnis wählen und öffnen")
If strVerzeichnis = False Then Exit Sub
strVerzeichnis = VBA.CurDir
VBA.ChDir VerzAktuell
With Application.FileSearch
.LookIn = strVerzeichnis
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
Set wbNeu = Workbooks.Add(Template:=xlWBATWorksheet)
Set wksNeu = wbNeu.Worksheets(1)
lZeileneu = 1
DateiNr = 1
Application.ScreenUpdating = False
For Each strQuelle In .FoundFiles
Application.StatusBar = "Datei Nummer  " & DateiNr & "  von  " _
& .FoundFiles.Count
Set wbQuelle = Workbooks.Open(FileName:=strQuelle, ReadOnly:=True)
'Alle Tabellenblätter in Quelle abarbeiten
For i = 1 To wbQuelle.Worksheets.Count
Set wksQuelle = wbQuelle.Worksheets(i)
wksNeu.Cells(lZeileneu, 1) = wbQuelle.FullName
wksNeu.Cells(lZeileneu, 2) = wksQuelle.Name
With wksQuelle
.Range(.Cells(2, 1), .Cells(2, 10)).Copy 'bereich A2:J2
wksNeu.Cells(lZeileneu, 3).PasteSpecial Paste:=xlFormats 'Zell-Formate
wksNeu.Cells(lZeileneu, 3).PasteSpecial Paste:=xlValues 'Zellewerte
'ggf. Code für weitere Zellbereiche ergänzen
End With
lZeileneu = lZeileneu + 1
Next i
wbQuelle.Close savechanges:=False
DateiNr = DateiNr + 1
Next strQuelle
End With
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub

Hoffentlich hilfts
Tschüs Werner

Anzeige
AW: Dateien zusammenführen
28.09.2014 16:27:18
Alex
Hallo Peter,
herzlichen Dank schon mal für Deine Hilfe und Mühe!
Wie müsste Dein Code angepasst werden, dass nach dem Starten des Makros die Möglichkeit erscheint, die Dateien auszuwählen die eingelesen werden sollen und diese dann so wie bereits in deiner Vorlage dargestellt erscheinen?
Tut mir leid, mit anpassen von solchen Codes kenne ich mich leider gar nicht aus…
Vielen Dank,
Mit freundlichem Gruß
Alex

Auswahl der Dateien
29.09.2014 22:07:20
Peter
Hallo Alex,
die sogenannten "Dateien" stehen in Deinem Beispiel als Arbeitsblätter im selben Workbook wie die Zusammenfassung. Mein Lösungsvorschlag zielte darauf ab, dass von diesem Zustand ausgegangen werden sollte. Man kann natürlich nicht nur zwei Arbeitsblätter anfügen, sondern eigentlich beliebig viele. Die Auswahl der Dateien (Workbooks) und das Einfügen in die Zusammenfassung kann entweder manuell durch Verschieben der Arbeitsblätter oder maschinell per Makro erfolgen. Erst danach kommt meine Lösung zum Tragen. Um eine Auswahl maschinell vorzunehmen, muss zunächst einmal klar sein, wo sich die auszuwählenden Dateien befinden (in welchen Verzeichnissen und mit welchen Namen). Natürlich kann man auch einen Makro schreiben, der ein Eingabefeld aufschlägt, in welches das Verzeichnis und der Dateiname einzutragen sind - nur ist das dann in der Praxis zeitaufwendiger, als die betreffende Datei gleich händisch in den Hauptspeicher zu laden. Es lohnt sich nur dann, wenn z. B. die zusammenzuführenden Dateien in einem bestimmten Verzeichnis (oder klar bestimmbaren Verzeichnissen) stehen und eine ebenso klare Regel der Inhalte und Namen möglich ist. Außerdem ist noch zu fragen, ob sich die (immer gleichen!) Datenformate allein (als ein Arbeitsblatt) oder neben anderen Arbeitsblättern in den betreffenden Dateien befinden. Hierüber fehlt mir leider jede Kenntnis. Wenn ich Dir weiterhelfen soll, brauche ich umfassende Beispiele (welche Arbeitsblätter, die in welchen Dateien stecken und die wiederum in welchen Verzeichnissen zu finden sind). Sollte es gar keine sichere Regel für die Auswahl geben, solltest Du am besten mit dem Dir geläufigen Excel-Instrumentarium die einzelnen Arbeitsblätter manuell in die Zusammenfassung einfügen. Da ich den Gesamtzusammenhang nicht kenne, kann ich Dir momentan auch keinen Rat geben, geschweige denn ein funktionierendes - und praxiskonformes - Makro erstellen.
Mit freundlichem Gruß
Peter Kloßek

Anzeige
AW: Auswahl der Dateien
30.09.2014 13:38:26
Alex
Hallo Peter,
danke vielmals für Deine Antwort!
Der Gesamtzusammenhang ist folgender:
Es gibt folgende Datei als Basis, diese stellt die (Teil)-Kalkulation eines Projektes dar:
https://www.herber.de/bbs/user/92909.xlsx
Ein Projekt kann nun aus 1 bis 50 solcher Dateien bestehen (Immer selber Aufbau, nur ein Tabellenblatt in der Datei aber unterschiedlichste Dateinamen). Warum nicht innerhalb einer Datei auf mehreren Tabellenblättern gearbeitet wird verstehe ich nicht, aber so ist meine Vorgabe.
Ziel ist es nun, aus diesen einzelnen Dateien die Werte zu einer Gesamtkalkulation zusammenzuführen. Dies soll das Register „Zusammenfassung“ in der Datei, die Du mir bereits bearbeitest hast darstellen.
Ich habe es mir nun so gedacht, dass ich einen Ordner anlege mit der Vorlage für die Kalkulation und der Zusammenfassung. Dieser Ordner soll dann für jedes neue Projekt kopiert werden. Innerhalb des Ordners soll dann die benötigte Anzahl an Dateien mittels „Speichern unter“ erstellt werden. Wenn alle Dateien erstellt sind, soll aus der Zusammenfassung heraus ein Makro die Möglichkeit bieten, alle Kalkulations-Dateien des Ordners auszuwählen und diese dann wie von dir dargestellt einzulesen. Verzeichnisse und Namen der Ordner liegen jedoch außerhalb meines Einflussbereiches.
Ich hoffe das ist nachvollziehbar und Du kannst mir helfen?
Vielen Dank schon mal im Voraus,
mit freundlichem Gruß
Alex

Anzeige
AW: Auswahl der Dateien
01.10.2014 18:28:15
Peter
Hallo Alex,
zu Deinen Ausführungen
"Verzeichnisse und Namen der Ordner liegen jedoch außerhalb meines Einflussbereiches."
kann ich nur sagen: Bei der genannten Konstellation ist die einfachste und beste Lösung für Dich, wenn Du die Arbeitsblätter aus den Quell-Dateien einzeln in die Zieldatei (meine Beispieldatei) kopierst (die Muster-Arbeitsblätter natürlich vorher löschen). Da offenbar sämtliche Arbeitsblätter in den Quell-Dateien denselben Namen ("Kalkulation") haben, müssen sie in der aufnehmenden Datei mit einem neuen treffenden Namen umbenannt werden. Dies könnte z. B. der Erzeugnis-Name sein. Wenn sämtliche gewünschten Arbeitsblätter in die Zieldatei übernommen sind, solltest Du eventuell noch vorhandene Einträge in der Zusammenfassung entfernen und anschließend den Makro1 betätigen.
Mit freundlichem Gruß
Peter Kloßek
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige