Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro mit variablen dateinamen

Makro mit variablen dateinamen
05.12.2012 18:51:45
Manu
Hallo Excelprofis,
ich ein Makro, dass ich noch optimieren möchte, es aber nicht hinbekomme.
Die Namen der Workbooks und Worksheets sollen variabel werden. Diese würde ich gerne in einem Tabellenblatt in Zellen eintragen (z.B. in A1, A2 usw).
Ich hoffe, dass Ihr mit weiterhelfen könnt.
Sub Datei_kopieren()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim QWB As Workbook, ZWB As Workbook
Workbooks.Open "E:\Manu\2. Phase\Fertige Dateien\Dienstplan Nord.xls"
Set QWB = Workbooks("Dienstplan Nord.xls")
Set ZWB = Workbooks("Beispiel Datei öffnen") 'Ziel, Workbook mit diesem Makro
Dim QWS As Worksheet, ZWS As Worksheet
Set QWS = QWB.Worksheets("Oktober12")
Set ZWS = ZWB.Worksheets("Tabelle3")
QWS.Cells.Copy ZWS.Cells(1, 1)      ' Inhalt in Ziel-Tabelle einfügen
QWB.Close
Application.EnableEvents = True
End Sub
Danke Manu

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro mit variablen dateinamen
05.12.2012 19:31:13
Hajo_Zi
Hallo manu,
auf müssen die ja sein. Bei mir haben alle Dateien einen Dateityp.
Set QWB = Workbooks(Range("A1"))
Set ZWB = Workbooks(Range("b12")) 'Ziel, Workbook mit diesem Makro
Dim QWS As Worksheet, ZWS As Worksheet
Set QWS = QWB.Worksheets(Range("c1"))

Anzeige
AW: Makro mit variablen dateinamen
05.12.2012 19:35:47
Sheldon
Hi Manu,
Sub Datei_kopieren()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim QWB As Workbook, ZWB As Workbook, FileSheet as Worksheet
Set FileSheet = ThisWorkbook.Sheets("Tabelle1")
Workbooks.Open FileSheet.Range("A1")     'In A1 steht E:\Manu\2. Phase\Fertige Dateien\ _
Dienstplan Nord.xls
Set QWB = Workbooks(FileSheet.Range("A2")    'A2=Dienstplan Nord.xls
Set ZWB = ThisWorkbook 'Ziel, Workbook mit diesem Makro
Dim QWS As Worksheet, ZWS As Worksheet
Set QWS = QWB.Worksheets("Oktober12")
Set ZWS = ZWB.Worksheets("Tabelle3")
QWS.Cells.Copy ZWS.Cells(1, 1)      ' Inhalt in Ziel-Tabelle einfügen
QWB.Close
Application.EnableEvents = True
End Sub
Habe nicht alle Zeilen geändert. Aber das Prinzip ist nun klar, oder?
Gruß
Sheldon

Anzeige
AW: Makro mit variablen dateinamen
06.12.2012 07:40:45
Manu
Hallo Sheldon,
erst mal vielen Dank für die schnelle Meldung. Leider bekomme ich folgende Fehlermeldung.
Laufzeitfehler '13!: Typen unverträglich
Bei: Set QWB = Workbooks(FileSheet.Range("A2")) 'A2=Dienstplan Nord.xls
Hast Du einen Rat?
Danke und Gruß
Manu

Anzeige
AW: Makro mit variablen dateinamen
06.12.2012 14:27:14
Sheldon
Hi Manu,
versuch das mal:
Set QWB = Workbooks(FileSheet.Range("A2").Value)
Klappt das?
Gruß
Sheldon

Vielen Dank - klappt
06.12.2012 17:16:35
Manu
Hallo Sheldon,
ja, damit funktioniert es. Super vielen Dank.
Gruß
Manu

Gern geschehen, danke für die RM :-) owT
06.12.2012 17:53:35
Sheldon
Gruß
Sheldon

Anzeige
Na, bis jetzt ist nichts variabel, ...
05.12.2012 19:46:53
Luc:-?
…Manu;
falls dein Dateiöffnen fktioniert (kann ich jetzt nicht testen), dürfte es wie folgt 1. übersichtlicher sein und 2. ggf auch funktionieren (wie gesagt, nicht getestet!):
Sub Datei_kopieren()
Dim QWB As Workbook, ZWB As Workbook, QWS As Worksheet, ZWS As Worksheet
With Application
.ScreenUpdating = False: .EnableEvents = False
End With
Workbooks.Open "E:\Manu\2. Phase\Fertige Dateien\Dienstplan Nord.xls"
Set QWB = Workbooks("Dienstplan Nord.xls")
Set ZWB = Workbooks("Beispiel Datei öffnen") 'Ziel, Workbook mit diesem Makro
Set QWS = QWB.Worksheets("Oktober12")
Set ZWS = ZWB.Worksheets("Tabelle3")
QWS.UsedRange.Copy: ZWS.Paste      ' Inhalt in Ziel-Tabelle einfügen
QWB.Close
With Application
.EnableEvents = True: .ScreenUpdating = True
End With
Set QWB = Nothing: Set ZWB = Nothing: Set QWS = Nothing: Set ZWS = Nothing
End Sub
Gruß Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige