Ich habe ein einfaches Makro in Excel erstellt, um eine andere Arbeitsmappe zu öffnen und die Arbeitsblätter in die Arbeitsmappe zu kopieren. Dies funktionierte gut für gewöhnliche xls-Dateien, aber als ich es in einer .xltm-Datei mit einem Makro verwendete, bekam ich wegen des darin enthaltenen Makros einen Out-of-bounds-Fehler.VBA: Blätter aus einer anderen Arbeitsmappe mit Makro importieren
Gibt es einen möglichen Weg in Excel VBA, um eine Arbeitsmappe zu öffnen und kopieren und Blatt darin ein Makro enthalten?
Mein Code
Dim directory As String, fileName As String, sheet As Worksheet, total As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
directory = "c:\"
fileName = Dir(directory & "book1.xls")
Workbooks.Open (directory & fileName)
For Each sheet In Workbooks(fileName).Worksheets
total = ThisWorkbook.Worksheets.Count
Workbooks(fileName).Worksheets(sheet.Name).Copy after:=ThisWorkbook.Worksheets(total)
Next sheet
Danke Jungs,
nur um darauf hinzuweisen, dass innerhalb der 'For Each Sheet'-Schleife können Sie einfach' sheet' statt 'Workbooks (fileName) .Worksheets (sheet.Name)' – user3598756