Tutorial: Excel-Tabellenblätter automatisch nach Zellwert umbenennen
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:
- Die vollautomatische Methode: Der Name ändert sich sofort, wenn du die Zelle bearbeitest.
- 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
- Klicke mit der rechten Maustaste unten auf den Namen des Tabellenblatts (z. B. "Tabelle1").
- 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
- Drücke
ALT + F11, um den VBA-Editor zu öffnen. - 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
- Schließe den VBA-Editor.
- Drücke
ALT + F8, wähleAlleBlaetterUmbenennenaus 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!