VBA Vorgehen zum Hinzufügen und zur Bezeichnung von Arbeitsblättern
In this Article
In diesem Tutorial wird erläutert, wie VBA Arbeitsblätter hinzugefügt und eingefügt werden.
Blatt hinzufügen
Dieses einfache Makro fügt ein Blatt vor dem ActiveSheet ein:
Sub Add ()
Sheets.Add
End Sub
Nachdem ein Blatt eingefügt wurde, wird das neue Blatt zum ActiveSheet. Das ActiveSheet-Objekt kann dazu verwenden werden, um mit dem neuen Blatt zu arbeiten (am Ende dieses Artikels zeigen wir, wie Sie ein neues Blatt direkt einer Variable zuweisen können).
ActiveSheet.Name = "NeuesBlatt"
Blatt mit Namen hinzufügen
Dem zu erstellenden Blatt kann auch gleichzeitig ein Name zugewiesen werden:
Sheets.Add.Name = "NewSheet"
Neues Blatt mit Namen aus einer Zelle erstellen
Oder verwenden Sie einen Zellwert, um ein neues Blatt zu benennen:
Sheets.Add.Name = Range("A3").Value
Blatt vor/nach einem anderen Blatt hinzufügen
Sie können auch festlegen, an welcher Stelle das neue Blatt eingefügt werden soll. Sie können die Eigenschaften After oder Before verwenden, um ein Blatt an einer bestimmten Stelle der Arbeitsmappe einzufügen.
Blatt nach einem anderen Blatt einfügen
Mit diesem Code wird das neue Blatt nach (After) einem anderen Blatt eingefügt:
Sheets.Add After:=Sheets("Eingabe")
Mit diesem Code wird ein neues Blatt nach (After) einem anderen Blatt eingefügt und der Name des Blattes angegeben:
Sheets.Add(After:=Sheets("Eingabe")).Name = "NeuesBlatt"
Beachten Sie die zusätzlichen Klammern, die im zweiten Beispiel erforderlich sind (das erste Beispiel wirft einen Fehler aus, wenn die zusätzlichen Klammern hinzugefügt würden).
oder bevor (Before):
Sheets.Add(Before:=Sheets("Eingabe")).Name = "NeuesBlatt"
In diesen Beispielen sind die Referenzblätter explizit benannt, vor dem bzw. nach dem das zu erstellende Blatt eingefügt werden soll. Oft werden Sie stattdessen Blattindexnummern verwenden wollen, um das Blatt an den Anfang oder ans Ende der Arbeitsmappe zu positionieren:
Blatt am Ende der Arbeitsmappe einfügen
So fügen Sie ein Blatt ans Ende der Arbeitsmappe ein:
Sheets.Add After:=Sheets(Sheets.Count)
Blatt an den Anfang der Arbeitsmappe hinzufügen:
Um es an den Anfang der Arbeitsmappe hinzuzufügen:
Sheets.Add(Before:=Sheets(1)).Name = "FirstSheet"
Blatt zu Variable hinzufügen
Dieser Code weist einer Variable das zu erstellende Blatt zu:
Dim ws As Worksheet
Set ws = Sheets.Add
Von hier aus können Sie das neu erstellte Blatt mit der Variable ‚ws‘ referenzieren:
ws.name = "VarSheet"
Weitere Add Sheet Beispiele
Blatt erstellen, wenn es nicht schon existiert
Möglicherweise möchten Sie ein Blatt nur dann erstellen, wenn es nicht bereits existiert.
Erstellen von Arbeitsblättern aus einer Liste von Namen
Die folgende Routine sieht sich den Inhalt einer einzelnen Spalte an und erstellt Excel-Arbeitsblätter in der aktuellen Arbeitsmappe mit diesen Namen. Sie ruft eine andere Funktion auf, um herauszufinden, ob ein Blatt mit diesem Namen bereits existiert. Wenn das der Fall ist, wird das Blatt nicht erstellt.
Private Sub CommandButton1_Click()
Call ArbeitsblaetterErstellen(Sheets("Tabelle1").Range("A1:a10"))
End Sub
Sub ArbeitsblaetterErstellen(Namen_der_Blaetter As Range)
Dim Anzahl_Blaetter_zum_Hinzufuegen As Integer
Dim Blattname As String
Dim i As Integer
Anzahl_Blaetter_zum_Hinzufuegen = Namen_der_Blaetter.Rows.Count
For i = 1 To Anzahl_Blaetter_zum_Hinzufuegen
Blattname = Namen_der_Blaetter.Cells(i, 1).Value
'Blatt nur hinzufügen, wenn es nicht bereits existiert und der Name länger als null Zeichen ist
If (Blatt_Existiert(Blattname) = False) And (Blattname <> "") Then
Worksheets.Add().Name = Blattname
End If
Next i
End Sub
Function Blatt_Existiert(Arbeitsblatt_Name As String) As Boolean
Dim Arbeitsblatt As Worksheet
Blatt_Existiert = False
For Each Arbeitsblatt In ThisWorkbook.Worksheets
If Arbeitsblatt.Name = Arbeitsblatt_Name Then
Blatt_Existiert = True
End If
Next
End Function
Betrachten wir einmal den Text in den Zellen A1:A30 auf dem Blatt Tabelle1:
Dann werden die folgenden Blätter erstellt:
Man beachte, dass obwohl „Hund“ zweimal in der Liste auftaucht, nur ein Blatt mit dem Namen Hund erstellt wurde.
Um die XLS-Datei für dieses Tutorial herunterzuladen, klicken Sie hier.
VBA-Codierung leicht gemacht
Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – einen VBA Code Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu codieren!