Wie kopiere und verschiebe ich ein blatt mit vba?

Sie können ein Blatt in Excel mit VBA-Code kopieren und verschieben. In diesem Tutorial lernen wir verschiedene Möglichkeiten kennen, dies zu tun.

Kopieren Sie ein Blatt in dieselbe Arbeitsmappe

Wenn Sie ein Blatt in derselben Arbeitsmappe kopieren möchten, können Sie den folgenden Code verwenden, bei dem Sie die Kopiermethode verwendet haben.

 Sheets("Sheet5").Copy Before:=Sheets(1)

In diesem Code ist Blatt1 das erste Blatt der Arbeitsmappe. Wenn Sie diesen Code ausführen, wird das Blatt mit dem Namen „Blatt5“ vor das erste Blatt der Arbeitsmappe kopiert.

Kopieren Sie ein Blatt in denselben Ordner

Und wenn Sie es nach dem ersten Blatt kopieren möchten, lautet der Code wie folgt.

 Sheets("Sheet5").Copy After:=Sheets(1)

Und wenn Sie es nach dem ersten Blatt kopieren möchten, lautet der Code wie folgt.

 Sheets("Sheet5").Copy Before:=Sheets("Sheet3") Sheets("Sheet5").Copy After:=Sheets("Sheet3")

Wenn Sie diesen VBA-Code ausführen, kopiert er „Sheet5“ vor und nach „Sheet3“.

VBA-Code, wenn Sie ihn nach dem ersten Blatt kopieren möchten

Mit der folgenden Codezeile können Sie ein Blatt nach dem letzten Blatt der Arbeitsmappe kopieren. Es verwendet sheet.count, um die Anzahl der Blätter zu ermitteln, und verwendet dann die Anzahl, um das letzte Blatt zu kopieren.

 Sheets("myNewSheet").Move After:=Sheets(Sheets.Count)
Kopieren Sie ein Blatt nach dem letzten Blatt im Ordner

Nützliche Links: Ausführen eines MakrosMakrorecorderVisual Basic EditorHandbuch zu persönlichen Makros

Kopieren Sie ein Blatt in derselben Arbeitsmappe unter einem neuen Namen

Und wenn Sie ein Blatt kopieren und es dann sofort umbenennen möchten, müssen Sie die Eigenschaft name verwenden, genau wie den folgenden Code.

 Sheets("Sheet5").Move Before:=Sheets(1) ActiveSheet.Name = "myNewSheet"
Kopieren Sie ein Blatt in dieselbe Arbeitsmappe mit dem neuen Namen

Verschieben Sie ein Blatt in derselben Arbeitsmappe

Um ein Blatt in derselben Arbeitsmappe zu verschieben, müssen Sie die Verschiebungsmethode wie im folgenden Code verwenden.

 Sheets("Sheet5").Move After:=Sheets(1)
Ein Blatt im selben Ordner verschieben

Dieser Code verschiebt „Sheet5“ vor „Sheet2“, wie Sie im Schnappschuss oben sehen können.

Kopieren Sie ein Blatt in die neue Arbeitsmappe

Wenn Sie die Kopiermethode verwenden, ohne ein Blatt in der aktuellen Arbeitsmappe zu definieren, öffnet VBA eine neue Arbeitsmappe und kopiert dieses Blatt in diese Arbeitsmappe.

 Sheets("Sheet5").Copy

Und um ein Blatt in eine neue Arbeitsmappe zu verschieben.

 Sheets("Sheet5").Move

Kopieren Sie mehrere Blätter in die neue Arbeitsmappe

Wenn Sie der neuen Arbeitsmappe mehrere Blätter gleichzeitig hinzufügen möchten, verwenden Sie Code wie diesen.

 Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5")).Copy

Der obige Code erstellt eine Reihe von Blättern und kopiert sie dann alle in eine neue Arbeitsmappe.

Kopieren Sie ein Blatt in eine andere Arbeitsmappe

Wenn Sie ein Blatt in eine andere, bereits geöffnete Arbeitsmappe kopieren möchten, können Sie den Namen der Arbeitsmappe nach oder vor dem Argument angeben.

 Sheets("Sheet1").Copy Before:=Workbooks("Book1.xlsx").Sheets(1)

Der obige Code kopiert Sheet1 aus der aktiven Arbeitsmappe und fügt es vor dem ersten Blatt von Book1.xlsx hinzu, das bereits geöffnet ist.

Und wenn Sie es verschieben möchten.

 Sheets("Sheet1").Move Before:=Workbooks("Book1.xlsx").Sheets(1)

Kopieren Sie ein Blatt in eine geschlossene Arbeitsmappe

Es gibt eine Möglichkeit, ein Blatt in eine geschlossene Arbeitsmappe zu kopieren, ohne dass Sie es öffnen müssen. Schauen Sie sich den Code unten an.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") Workbooks("Book1.xlsx").Sheets("Sheet2").Copy Before:=mybook.Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

In diesem Code haben Sie die Variable myBook und ihr ist dann eine Arbeitsmappe zugewiesen. Wir haben die Bildschirmaktualisierung deaktiviert, damit der Code die Aufgabe im Backend ausführen kann.

Kopieren Sie ein Blatt aus einer anderen Arbeitsmappe, ohne es zu öffnen

Auf die gleiche Weise können Sie ein Blatt aus einer geschlossenen Arbeitsmappe kopieren und verschieben. Schauen Sie sich den Code unten an.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") mybook.Sheets("mySheet").Copy Before:=Workbooks("Book1.xlsx").Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert