ich bin gerade dabei Tabellenblätter aus einer "Quelldatei" in eine "Zieldatei" per Makro zu kopieren. Leider bekomm ich die Fehlermeldung ("Index außerhalb des gültigen Bereichs"). Bin mir nicht ganz sicher was ich falsch gemacht habe. Kann mir jemand helfen bzw. einmal über mein Makr schauen, vielleicht fällt euch ja was eklatant falsches auf Anhieb auf. DANKE!
Sub Kopieren()
Const QBlatt_Name = "per 30.06.2015" 'Quellblatt 1
Const QBlatt2_Name = "per 31.12.2015" 'Quellblatt 2
Const ZMappe_Name = "SPE 8(2).xlsx" 'Zielmappe
Const ZBlatt_Name = "per 30.06.2015" 'Zielblatt
Const ZBlatt2_Name = "per 31.12.2015" 'Zielblatt2
Dim WB_Z As Workbook
Dim WS_Z As Worksheet
Dim WS_A As Worksheet
Dim WS_Q As Worksheet
Dim WS_Y As Worksheet
Dim Zieloffen As Boolean
With UserForm1
.Label1 = "Mappe """ & ZMappe_Name & """ wird aktualisiert..."
.Show False
End With
DoEvents
Application.ScreenUpdating = False
If Not WBIsOpen(ZMappe_Name) Then
Workbooks.Open ThisWorkbook.Path & "\" & ZMappe_Name
Zieloffen = False
Else
Zieloffen = True
End If
Set WS_Y = ThisWorkbook.Sheets(QBlatt2_Name)
Set WS_Q = ThisWorkbook.Sheets(QBlatt_Name)
Set WB_Z = Workbooks(ZMappe_Name)
Set WS_Z = WB_Z.Sheets(ZBlatt_Name)
Set WS_A = WB_Z.Sheets(ZBlatt2_Name)
WS_Z.Cells.Delete
WS_Q.Cells.Copy
With WS_Z.Range("A1")
.PasteSpecial xlPasteValuesAndNumberFormats
.PasteSpecial xlPasteFormats
End With
Application.CutCopyMode = False
WB_Z.Save
If Not Zieloffen Then WB_Z.Close
Unload UserForm1
Application.ScreenUpdating = True
End Sub