Rückkehr in VBA-Code-Beispiele

VBA Name eines Arbeitsblattes auslesen und umbenennen

Dieses Tutorial behandelt die Interaktion mit Blattnamen in VBA.

Get Sheet Name

Blattnamen werden in der Eigenschaft Name der Objekte Sheets oder Worksheets gespeichert.  Der Blattname ist der Name der „Registerkarte“ (Arbeitsblatt), die unten in Excel sichtbar ist:

Arbeitsblatt Name auslesen umbenennen

ActiveSheet Namen abfragen

Dieser Code-Schnipsel gibt den ActiveSheet-Namen in einem Meldungsfeld wieder:

MsgBox ActiveSheet.Name

Blattname über Indexnummer abfragen

Hiermit wird der Name des ersten Arbeitsblatts in einer Message Box angezeigt:

MsgBox Sheets(1).Name

Dies zeigt den Namen des letzten Arbeitsblatts in der Arbeitsmappe an:

MsgBox Sheets(Sheets.Count).Name

Blattname über Codename abrufen

Im VBA-Editor gibt es eine Option zum Ändern des „Codenamens“ eines Blatts. Der Codename ist für den Excel-Benutzer nicht sichtbar und kann nur im VBA-Editor eingesehen werden:

vba activesheet codename

In VBA können Sie bei der Arbeit mit Blättern auf den üblichen Tab-Namen verweisen:

Sheets("Eingabe").Aktivieren

oder den VBA-Code-Namen:

Tabelle1.Activate

Der Verweis auf den Codenamen ist vorzuziehen, wenn sich der Name Arbeitsblattes jemals ändern sollte. Wenn Sie dem Excel-Benutzer die Änderung von Blattnamen erlauben, sollten Sie in Ihrem VBA-Code auf den Codenamen verweisen, damit eine Nichtübereinstimmung des Arbeitsblattnamens nicht zu ungewünschten Fehlern führen. Codenamen von Arbeitsblättern werden hier ausführlicher behandelt.

So gehen Sie vor, um auf den VBA Codenamen zuzugreifen:

MsgBox CodeName.Name

Blatt umbenennen

Sie können Blätter umbenennen, indem Sie die Eigenschaft Name der Objekte Sheets oder Worksheets anpassen.

ActiveSheet umbenennen

ActiveSheet.Name = "NeuerName"

Blatt per Name umbenennen

Sheets("AltesBlatt").Name = "NeuerName"

Blatt per Indexnummer umbenennen

Hier verwenden wir 1, um das erste Blatt in der Arbeitsmappe umzubenennen.

Sheets(1).Name = "NeuerName"

Blatt per Codenamen umbenennen

Mit diesem Code wird ein Blatt anhand seines VBA-Codenamens (siehe oben) umbenannt:

Component.Name = "NewName"

Prüfen, ob Blattname vorhanden ist

Es folgt ein Code, der prüft, ob ein Blatt mit einem bestimmten Namen bereits existiert.

'Testen Sie, ob ein Bereich auf einem Blatt vorhanden ist.
'Bereich leer lassen, um zu prüfen, ob das Blatt existiert
'Eingaben:
' WelchesBlatt - String Name des Blattes (z.B. "Tabelle1")
' WelcherBereich (Optional, Standard = "A1") - Bereichskoordinaten in Textform (z.B. "A1")
Function RangeExists(WelchesBlatt As String, Optional ByVal WelcherBereich As String = "A1") As Boolean
    
    Dim test As Range
    On Error Resume Next
    Set test = ActiveWorkbook.Sheets(WelchesBlatt ).Range(WelcherBereich )
    RangeExists = Err.Number = 0
    On Error GoTo 0

Funktion beenden

Die Funktion gibt TRUE zurück, wenn das Blatt existiert, oder FALSE, wenn es nicht existiert.

Verwenden Sie die Funktion wie folgt:

Sub Test_SheetExists()
    MsgBox RangeExists("Einrichtung")
End Sub

 

Blatt kopieren und umbenennen

Dieses Beispiel stammt aus unserem Artikel über das Kopieren von Blättern.

Nach dem Kopieren und Einfügen eines Blattes wird das neu erstellte Blatt zum ActiveSheet. Um also ein kopiertes Blatt umzubenennen, verwenden Sie einfach ActiveSheet.Name:

Sub BlattKopierenUmbennen2()

    Sheets("Tabelle1").Copy After:=Sheets(Sheets.Count)
    On Error Resume Next
    ActiveSheet.Name = "LetztesBlatt"
    On Error GoTo 0

End Sub

Hinweis: Wir haben eine Fehlerbehandlung zur Vermeidung von Fehlern hinzugefügt für den Fall, dass ein Blattname bereits existiert.