viele excel dateien in eine zusammenfügen...Makro?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein Makro lohnt sich erst, wenn das jeden Monat einmal vorkommt, dass du 180 Dateien zusammenkopieren musst. Ist es aber eine einmalige Sache, würde ich es von Hand machen.
Und: ein Makro ist auch nur dann sinnvoll, wenn die Dateien durchnummerierte Namen haben (Dat001, Dat002, ..., Dat180) und jeden Monat gleich heißen, bzw. sich der Namen automatisch generierern lassen.
Sind die Dateien immer wieder anders, müsstest du dir die Dateiliste erst per dir-Befehl in einen File schreiben lassen, und diese Liste dann immer vorher ins Makro reinkopieren - Klar?

Keine Ahnung, ob du es noch brauchst, aber hier ist die -eigentlich einfache- Umsetzung in VBA (Einfach als Modul in der Datei einbauen, die die Tabellenblätter aufnehmen soll):

Sub TabBlaetterKopieren()
Dim arrDateiNamen(180) As String
Dim fso, fld, fl

Set fso = CreateObject("Scripting.FileSystemObject")
' Achtung! Hier Pfad ändern
Set fld = fso.GetFolder("C:\Temp\WB180\")

Application.ScreenUpdating = False

For Each fl In fld.Files
Workbooks.Open fl.Name
Sheets(1).Select
' Achtung! Hier denDateinamen ändern
Sheets(1).Copy After:=Workbooks("Zusammenfassen.xls").Sheets(Sheets.Count)
Workbooks(fl.Name).Close False
Next

Application.ScreenUpdating = True

Set fso = Nothing
Set fld = Nothing

End Sub

Alle Tabellenblätter, die in der "Sammelmappe" bereits enthalten waren, bleiben natürlich.

OK so?

Halli Hallo,

Ich hab das Problem der Macro bei mir nicht funktioniert ich bekmme immer wieder die Fehlermedlung = Laufzeitfehler 1004 xyz.xls datei wurde nicht gefunden obwohl die datei in dem vorgegebenen Folder liegt .

Die Zeile an der dr Compailer stehen bleibt ist """Workbooks.Open fl.Name"""

Ich würde es Händisch machen über die tabellenblattfunktion - aber 180 wären mir zu unübersichtlich - ich würde pro datei nicht mehr als 60 Blätter nehmen . oder über acces gehen .

Access?

0

wie über access???

0

Da du in der Routine alle 180 Dateinamen angeben müsstest dürftest du damit genauso schnell sein.