Worksheet.Copy-Methode (Excel)

Kopiert das Blatt an einen anderen Speicherort in der aktuellen oder einer neuen Arbeitsmappe.

Syntax

Ausdruck. Kopieren (Vorher, Nachher)

Ausdruck: Eine Variable, die ein Worksheet-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Before Optional Variant Das Blatt, vor dem das kopierte Blatt eingefügt wird. Sie können Before nicht angeben, wenn Sie After angeben.
After Optional Variant Das Blatt, nach dem das kopierte Blatt eingefügt wird. Sie können After nicht angeben, wenn Sie Before angeben.

HinwBemerkungeneise

Wenn Sie weder Vorher noch Nach angeben, erstellt Microsoft Excel eine neue Arbeitsmappe, die das kopierte Worksheet-Objekt enthält. Die neu erstellte Arbeitsmappe enthält die Application.ActiveWorkbook-Eigenschaft und enthält ein einzelnes Arbeitsblatt. Das einzelne Arbeitsblatt behält die Eigenschaften Name und CodeName des Quellarbeitsblatts bei. Wenn das kopierte Arbeitsblatt ein Codesheet für ein Arbeitsblatt in einem VBA-Projekt enthält, wird dieses auch in die neue Arbeitsmappe übernommen.

Eine Arrayauswahl mehrerer Arbeitsblätter kann auf ähnliche Weise in ein neues leeres Workbook-Objekt kopiert werden.

Quelle und Ziel müssen sich in derselben Excel.Application-Instanz befinden, andernfalls wird der Laufzeitfehler "1004" ausgelöst: Diese Schnittstelle wird nicht unterstützt, wenn etwas wie Sheet1.Copy objWb.Sheets(1) verwendet wurde, oder ein Laufzeitfehler "1004": Fehler bei der Kopiermethode der Worksheet-Klasse, wenn etwas wie ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1) verwendet wurde.

Beispiel

In diesem Beispiel wird "Sheet1" kopiert und nach "Sheet3" eingefügt.

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

In diesem Beispiel wird zuerst Sheet1 in eine neue leere Arbeitsmappe kopiert, anschließend wird die neue Arbeitsmappe gespeichert und geschlossen.

Worksheets("Sheet1").Copy
With ActiveWorkbook 
     .SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
     .Close SaveChanges:=False
End With

In diesem Beispiel werden die Arbeitsblätter Sheet1, Sheet2 und Sheet4 in eine neue leere Arbeitsmappe kopiert. Anschließend wird die neue Arbeitsmappe gespeichert und geschlossen.

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
     .SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook 
     .Close SaveChanges:=False 
End With 

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.