Tutorial: Excel-Tabellenblätter automatisch nach Zellwert umbenennen

Melden

Hier ist ein ausführliches Tutorial, wie du Excel-Tabellenblätter automatisch basierend auf einem Zellwert umbenennen kannst. Da Excel dies nicht nativ über eine Standardfunktion anbietet, nutzen wir dafür einen kleinen, aber effektiven VBA-Code (Makro).


In diesem Tutorial lernst du zwei Methoden:

  1. Die vollautomatische Methode: Der Name ändert sich sofort, wenn du die Zelle bearbeitest.
  2. Die "Auf Knopfdruck"-Methode: Alle Blätter werden gleichzeitig basierend auf einer bestimmten Zelle umbenannt.

Wichtige Vorbereitung

Bevor wir starten, stelle sicher, dass deine Datei als Excel-Arbeitsmappe mit Makros (.xlsm) gespeichert ist, sonst geht der Code beim Schließen verloren.


Methode 1: Vollautomatische Umbenennung (bei Änderung einer Zelle)

Diese Methode ist ideal, wenn du möchtest, dass sich der Name des Reiters (Tabs) sofort anpasst, sobald du z. B. in Zelle A1 einen neuen Namen eingibst.

Schritt 1: Den VBA-Editor öffnen

  1. Klicke mit der rechten Maustaste unten auf den Namen des Tabellenblatts (z. B. "Tabelle1").
  2. Wähle Code anzeigen. Es öffnet sich das VBA-Fenster.

Schritt 2: Den Code einfügen

Kopiere den folgenden Code und füge ihn in das weiße Fenster ein:

Private Sub Worksheet_Change(ByVal Target As Range)
    ' Überprüfen, ob die Änderung in Zelle A1 stattgefunden hat
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        On Error GoTo ErrorHandler

        ' Falls die Zelle nicht leer ist, Blatt umbenennen
        If Range("A1").Value <> "" Then
            Me.Name = Left(Range("A1").Value, 31)
        End If
    End If
    Exit Sub

ErrorHandler:
    MsgBox "Der Name konnte nicht geändert werden. Achte auf Sonderzeichen (/ \ ? * [ ]) und max. 31 Zeichen.", vbCritical
End Sub

Schritt 3: Testen

Gehe zurück zu Excel und schreibe etwas in die Zelle A1. Der Name des Tabellenblatts wird sich sofort ändern.


Methode 2: Alle Tabellenblätter gleichzeitig umbenennen

Diese Methode ist nützlich, wenn du viele Blätter hast und jedes Blatt nach dem Inhalt der jeweiligen Zelle A1 benennen möchtest.

Schritt 1: VBA-Modul erstellen

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe oben im Menü auf Einfügen -> Modul.

Schritt 2: Den Code einfügen

Kopiere diesen Code in das neue Modul-Fenster:

Sub AlleBlaetterUmbenennen()
    Dim ws As Worksheet
    Dim NeuerName As String

    For Each ws In ThisWorkbook.Worksheets
        ' Zellwert aus A1 holen
        NeuerName = ws.Range("A1").Value

        ' Prüfen, ob die Zelle nicht leer ist
        If NeuerName <> "" Then
            On Error Resume Next
            ws.Name = Left(NeuerName, 31)
            If Err.Number <> 0 Then
                MsgBox "Fehler beim Umbenennen von Blatt: " & ws.Name
                Err.Clear
            End If
            On Error GoTo 0
        End If
    Next ws
End Sub

Schritt 3: Makro ausführen

  1. Schließe den VBA-Editor.
  2. Drücke ALT + F8, wähle AlleBlaetterUmbenennen aus und klicke auf Ausführen.

Was du beachten musst (Regeln für Blattnamen)

Excel ist sehr streng bei der Benennung von Tabellenblättern. Wenn dein Zellinhalt gegen eine dieser Regeln verstößt, wird der Code eine Fehlermeldung ausgeben:

  • Länge: Maximal 31 Zeichen. (Der Code oben kürzt längere Namen automatisch mit der Left-Funktion).
  • Verbotene Zeichen: Folgende Zeichen dürfen nicht vorkommen: / \ ? * [ ] :
  • Leere Zellen: Ein Blattname darf nicht komplett leer sein.
  • Duplikate: Kein Name darf doppelt in einer Arbeitsmappe vorkommen.

Profi-Tipp:

Wenn du einen anderen Zellwert als A1 verwenden möchtest, ändere im Code einfach den Bereich "A1" in deine gewünschte Zelle (z. B. "B5").


Viel Erfolg beim Automatisieren deiner Excel-Tabellen!

0