VBA Blattname abrufen / Blatt umbenennen

In diesem Tutorial wird die Interaktion mit Blattnamen in VBA behandelt.

Blattnamen abrufen

Blattnamen werden im Name Eigentum der Blätter oder Arbeitsblätter Objekt. Der Blattname ist der Name der "Registerkarte", der unten in Excel sichtbar ist:

ActiveSheet-Namen abrufen

Dadurch wird der ActiveSheet-Name in einem Meldungsfeld angezeigt:

1 MsgBox ActiveSheet.Name

Blattnamen nach Indexnummer abrufen

Dadurch wird der erste Arbeitsblattname in einem Meldungsfeld angezeigt:

1 MsgBox-Blätter(1).Name

Dadurch wird der Name des letzten Arbeitsblatts in der Arbeitsmappe angezeigt:

1 MsgBox Sheets(Sheets.Count).Name

Blattnamen nach Codenamen abrufen

Im VBA-Editor gibt es die Möglichkeit, den „Codenamen“ eines Sheets zu ändern. Der Codename ist für den Excel-Benutzer nicht sichtbar und nur im VBA-Editor sichtbar:

In VBA können Sie beim Arbeiten mit Sheets auf den üblichen Tab-Namen verweisen:

1 Sheets("TabName").Aktivieren

oder der VBA-Codename:

1 Codename.Aktivieren

Es ist wünschenswert, auf den Codenamen zu verweisen, falls sich der Name der Blattregisterkarte jemals ändert. Wenn Sie Ihrem Excel-Benutzerzugriff auf das Ändern von Blattnamen gewähren, sollten Sie auf den Codenamen in Ihrem VBA-Code verweisen, damit eine Nichtübereinstimmung des Blattregisterkartennamens keinen Fehler verursacht. Blattcodenamen werden hier ausführlicher besprochen.

Um den Blattnamen mithilfe des VBA-Codenamens abzurufen, gehen Sie wie folgt vor:

1 MsgBox CodeName.Name

Blatt umbenennen

Sie können Tabellen umbenennen, indem Sie die Name Eigentum der Blätter oder Arbeitsblätter Objekt.

ActiveSheet umbenennen

1 ActiveSheet.Name = "NeuerName"

Blatt nach Namen umbenennen

1 Sheets("OldSheet").Name = "NewName"

Blatt nach Blattindexnummer umbenennen

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

1 Sheets(1).Name = "NeuerName"

Blatt nach Codenamen umbenennen

Dieser Code benennt ein Blatt mit seinem VBA-Codenamen um (siehe oben):

1 Komponente.Name = "NeuerName"

Überprüfen Sie, ob der Blattname vorhanden ist

Wir haben eine Funktion erstellt, um zu testen, ob bereits ein Sheet mit einem bestimmten Namen existiert.

123456789101112 'Testen, ob ein Bereich auf einem Blatt vorhanden ist.'Lassen Sie den Bereich leer, um zu testen, ob das Blatt vorhanden ist'Eingaben:' WhatSheet - Zeichenfolgenname des Blatts (z. B. "Sheet1")' WhatRange (Optional, Standard = "A1") - Stringname des Bereichs (z. B. "A1")Funktion RangeExists(WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDimmtest als BereichBei Fehler Fortsetzen als nächstesSet test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Bei Fehler GoTo 0Endfunktion

Die Funktion gibt TRUE zurück, wenn das Blatt existiert, oder FALSE, wenn dies nicht der Fall ist.

Verwenden Sie die Funktion wie folgt:

123 Unter Test_SheetExists()MsgBox RangeExists("Setup")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 Blatts wird das neu erstellte Blatt zum ActiveSheet. Um ein kopiertes Blatt umzubenennen, verwenden Sie einfach ActiveSheet.Name:

12345678 Unter CopySheetRename2()Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)Bei Fehler Fortsetzen als nächstesActiveSheet.Name = "LastSheet"Bei Fehler GoTo 0End Sub

Hinweis: Wir haben eine Fehlerbehandlung hinzugefügt, um Fehler zu vermeiden, wenn der Blattname bereits vorhanden ist.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave