Guten Morgen!
Ich möchte mit Hilfe von VBA eine Reihe von Worksheets erstellen und in jedes neu erstellte Sheet Daten aus einem Template hinein kopieren. Hier mein zugehöriger Code:
Sub SheetCopyTest()
Dim wbMasterWorkbook As Workbook
Set wbMasterWorkbook = Workbooks("Master Workbook")
Dim rNewSheetName As Range
Set rNewSheetName = Workbooks("VBA Codes").Sheets("Helper").Range("A1")
Do While rNewSheetName <> ""
wbMasterWorkbook.Sheets.Add Before:=wbMasterWorkbook.Sheets("My Sheet")
wbMasterWorkbook.Sheets(Sheets("My Sheet").Index - 1).Name = rNewSheetName.Value
wbMasterWorkbook.Sheets("Template").Range("A:BD").Copy Destination:=wbMasterWorkbook.Sheets(rNewSheetName.Value).Range("A1")
Set rNewSheetName = rNewSheetName.Offset(1, 0)
Loop
End Sub
Wenn ich einfach nur die Sheets erstellen lasse, läuft der Code problemlos. Sobald ich aber die Daten vom Template mit kopieren möchte, kommt der "Subscript out of Range" Error: Das neu erstellte Sheet wird plötzlich nicht mehr richtig benannt, sondern heißt dann "Sheet14" oder so.
Hat jemand Ideen, warum der Fehler hier auftritt?
Viele Grüße
Erich
|