Hallo zusammen,
ich bin vba Anfänger und kenne mich nicht wirklich aus.. ich brauche ein Makro, um Tabellen aus mehreren Exceldateien in einer zusammen
zu fassen und habe im Netz den Code unten gefunden, den ich gerne verwenden würde. Dazu hätte ich drei Fragen:
1.) das Makro läuft bei mir nicht; es kommt die Meldung "Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert" und er markiert
mir in Zeile drei "Zielarbeitsmappe As Objekt". Weiß jemand warum und was ich machen kann?
2.) Er soll mit diesem Code immer das erste Tabellenblatt de Quelldatei nehmen. Kann man ihn so umschreiben, dass er jeweils das Tabellenblatt mit Namen "Januar" oder "Februar", etc. nimmt?
3.) die Tabellenblätter bekommen den Dateinamen. Kann man stattdessen auch ein Feld, z.B. D6 vom Tabellenblatt "Januar" aus der Quelldatei als Name angeben?
Vielleicht kann mir jemand helfen.. ich wäre schon sehr dankbar wenn das Ding überhaupt läuft :-)
LG, Theo
---------
Sub Mehrere_dateien_zusammenführen()
Dim Zielarbeitsmappe As Objekt
Dim QuellenArbeitsmappe As Object
Dim Pfad As String
Dim Datei As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Zielarbeitsmappe = ActiveWorkbook
Pfad = InputBox("Pfad eingeben, wo die Dateien gespeichert sind", "Pfad")
Datei = Dir(CStr(Pfad & "*.xl*"))
Do While Datei <> ""
Set QuellenArbeitsmappe = Workbooks.Open(Pfad & Datei, False, True)
QuellenArbeitsmappe.Sheets().Copy after:=Zielarbeitsmappe.Sheets(Zielarbeitsmappe.Sheets.Count)
Zielarbeismappe.Sheets(Zielarbeitsmappe.Sheets.Count).Name = Datei
QuellenArbeitsmappe.Close
Datei = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Dateien wurden zusammengeführt"
Set Zielarbeitsmappe = Nothing
Set QuellenArbeitsmappe = Nothing
End Sub
|