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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für