News & Tipps zu Microsoft Excel

Lesen Sie hier einige der besten Beiträge aus SmartTools Excel Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Excel.

Beitrag aus SmartTools Excel Weekly

So können Sie den aktuellen Blattnamen in einer Tabellenzelle von Excel ausgeben

Excel 365 2024 2021 2019 2016 2013

Es gibt immer wieder Situationen, in denen Sie den Namen eines Tabellenblatts in einer Tabellenzelle ausgeben möchten. Wenn das Blatt zum Beispiel "Januar" heißt, soll eine Formel in Zelle A1 dieses Tabellenblatts den Namen "Januar" anzeigen. Den Blattnamen liefert die Tabellenfunktion ZELLE in Verbindung mit dem Parameter "dateiname". Wie der Parametername schon andeutet, gibt die Funktion dabei aber nicht nur den Blattnamen, sondern den vollständigen Dateinamen der aktuellen Arbeitsmappe aus. Unser Tipp liefert die Lösung.

Wenn Ihre Arbeitsmappe zum Beispiel unter dem Dateinamen ERGEBNISSE 2024.XLXS in einem Ordner namens C:\DATEN\EXCEL gespeichert ist und Sie in einem Tabellenblatt mit dem Namen "Januar" folgende Formel eingeben:

=ZELLE("dateiname";$A$1)

erhalten Sie folgendes Ergebnis:

C:\Daten\Excel\[Ergebnisse 2024.xlsx]Januar

Mit zusätzlichen Textfunktionen reduzieren Sie das Ergebnis der Funktion ZELLE anschließend auf den Blattnamen. Dabei suchen Sie mittels FINDEN-Funktion nach der schließenden eckigen Klammer und geben mittels TEIL-Funktion nur den danach folgenden Text aus. Die vollständige Formel zur Ausgabe des Blattnamens lautet dann:

=TEIL(ZELLE("dateiname";$A$1);FINDEN("]";
ZELLE("dateiname";$A$1))+1;31)

Dass als Längenparameter der Funktion TEIL der Wert "31" zum Einsatz kommt, liegt daran, dass Blattnamen in Excel nicht länger als 31 Zeichen sein dürfen.

Einen kleinen Nachteil hat die Formel jedoch: Sie funktioniert nur, wenn die Arbeitsmappe bereits gespeichert worden ist. Falls Sie die Formel in eine ungespeicherte Mappe eingeben, liefert sie den Fehler #WERT!. Das liegt daran, dass die Funktion ZELLE in diesem Fall eine leere Zeichenfolge zurückgibt und die umgebenden Textfunktionen somit ins Leere laufen.

Umgehen lässt sich dieses Problem nur mit Hilfe einer VBA-Funktion, die Sie am besten in Ihrer "persönlichen Makroarbeitsmappe" speichern. Falls Sie bislang noch nicht mit der persönlichen Makroarbeitsmappe gearbeitet haben, erstellen Sie sie mit folgenden Schritten:

  1. Starten Sie eine Makroaufzeichnung. Klicken Sie dazu unten links in der Statusleiste von Excel auf das Symbol Makroaufzeichnung.
  2. Im danach angezeigten Dialogfenster wählen Sie im Dropdownfeld Makros speichern in den Eintrag "Persönliche Makroarbeitsmappe" aus. Danach klicken Sie auf Ok.
  3. Stoppen Sie die Makroaufzeichnung sofort wieder, indem Sie in der Statusleiste auf das Symbol zum Beenden der Aufzeichnung klicken.

Excel legt automatisch eine persönliche Makroarbeitsmappe mit dem Namen PERSONAL.XLSB an.

Um darin eine Funktion zur Ausgabe des aktuellen Blattnamens zu erstellen, gehen Sie folgendermaßen vor:

  1. Drücken Sie Alt + F8, um das Dialogfenster Makro zu öffnen.
  2. Wählen Sie im Dropdownfeld Makros "PERSONAL.XLSB" aus.
  3. Geben Sie im Feld Makroname folgende Bezeichnung ein:
Blattname
  1. Klicken Sie auf die Schaltfläche Erstellen.
  2. Sie gelangen daraufhin in ein Codefenster der Excel-Programmierumgebung, in dem Sie das Gerüst der Prozedur "Blattname" sehen: von "Sub Blattname()" bis "End Sub".
  3. Da Sie eine Funktion und keine Sub-Prozedur benötigen, müssen Sie dieses Gerüst vollständig ersetzen, und zwar durch folgende Codezeilen:
Public Function Blattname( _
    ReferenzZelle As Range) _
    As String

  Application.Volatile
  Blattname = ReferenzZelle.Parent.Name

End Function
  1. Drücken Sie Strg + S, um Ihre persönliche Makroarbeitsmappe zu speichern.
  2. Verlassen Sie die Entwicklungsumgebung per Datei-Schließen und zurück zu Microsoft Excel.

Da die persönliche Makroarbeitsmappe automatisch beim Starten von Excel geladen wird, können Sie die benutzerdefinierte Funktion "Blattname" in jeder Arbeitsmappe einsetzen. Allerdings müssen Sie ihr den Dateinamen Ihrer persönlichen Makroarbeitsmappe voranstellen.

Sie ermitteln den Namen des aktuellen Tabellenblatts also, indem Sie in eine Zelle folgende Formel eingeben:

=PERSONAL.XLSB!Blattname(A1)