Worksheet.Copy-Methode (Excel)
Kopiert das Blatt an eine andere Position in der aktuellen oder einer neuen Arbeitsmappe.
Syntax
Ausdruck. Kopieren (Vorher, Nachher)
expression: 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. |
Hinweise
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 im gleichen Excel.Application instance 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.