Wie kann ich den Namen des aktuellen Arbeitsblatts in einer Zelle anzeigen?

13

Ich möchte den Namen des aktuellen Arbeitsblatts in einer Zelle dieses Arbeitsblatts anzeigen können.

Wie kann ich das tun, ohne auf VBA-Skripte zurückzugreifen?

Wenn es darauf ankommt, ist die besondere Art von Excel, mit der ich arbeite, 2007, aber ich würde etwas bevorzugen, das so versionsunabhängig wie möglich ist.

Ale
quelle

Antworten:

19
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))

Die Arbeitsmappe muss gespeichert werden, bevor diese Funktion funktioniert.

Der Schlüssel zu dieser Funktion ist =CELL("filename",A1), die eine praktische Zeichenfolge zurückgibt, die den Dateipfad, den Dateinamen und den Arbeitsblattnamen enthält:C:\Users\john.smith\Desktop\[Test.xlsx]Sheet1

Sehen:

Däne
quelle
Der Zellbezug A1ist optional, nein?
Ale
2
Dies funktioniert für mich:=RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename")))
Ale
2
Sie können den Zellbezug weglassen und es spielt keine Rolle, ob Sie nur eine Cell () - Funktion in der Datei haben. Wenn Sie jedoch die Zellenfunktion verwenden, um den Blattnamen auf jedem Blatt anzuzeigen, benötigen Sie die A1-Referenz. Andernfalls wird auf jedem Blatt derselbe Wert angezeigt. Welcher Wert angezeigt wird, hängt davon ab, welche Formel zuletzt neu berechnet wurde. Fügen Sie also die Formel in Sheet1, Sheet2, Sheet3 ohne einen Verweis auf A1 ein. Wenn Sie Sheet3 neu berechnen, wird "Sheet3" angezeigt. Gehen Sie zu Sheet1 und es wird auch "Sheet3" angezeigt. - Wahrscheinlich nicht, was du willst. Bei einer Zellreferenz funktioniert die Formel jedoch wie erwartet.
Teylyn
6
Etwas kürzer .....=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,32)
Barry Houdini