02.04.2021, 11:50
Ziel ist eine Liste aller Tabellenblätter in einem einzigen Tabellenblatt anzuzeigen.
Hier wird zunächst die (umständliche) alte Version vorgestellt, um folgend dann die enorme Vereinfachung mittels Excel 365 aufzuzeigen.
Vorweg:
Dies ist ja problemlos durch den weitgehend unbekannten Rechtsklick auf die Tabellennavigation (◄► unten links) möglich.
Hier geht es aber um die Auflistung in Zellen.
Mögliche Anwendung: Zugriff auf Tabellenblätter mittels INDIREKT().
Oder Integration des Tabellennamens in HYPERLINK().
Ausgangslage: gespeicherte Mappe mit den Blättern Montag, Dienstag, Samstag und Sonntag
Grundsätzlich notwendig ist zunächst die Vergabe eines Namen, der eine alte Excel4-Makro-Funktion enthält:
► Formeln → Namensmanager → Neu
► Name: x
► bezieht sich auf: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
(durch 0*JETZT() wird es volatil, heißt, eine Änderung eines Namens wird sofort in die Liste übernommen)
Versionen bis Excel 2019 (in Excel 2022 wird sich wohl auch nichts ändern):
In die erste Zelle der Auflistung:
=WENN(ZEILE(X1)>ANZAHL2(x);"";TEIL(INDEX(x;ZEILE(X1));FINDEN("]";INDEX(x;ZEILE(X1)))+1;31))
Die 31 ist die zulässige Maximallänge eines Blattnamen.
Die Formel so weit als nötig herunterziehen.
Man kann einen Puffer einbauen und sie großzügig ziehen, dann erfolgt die Ausgabe des Leerstrings "".
In Excel 365 wird die notwendige Formel enorm verkürzt.
Dies reicht in einer einzigen Formelzelle:
=MTRANS(TEIL(x;FINDEN("]";x)+1;31))
Gruß Ralf
Hier wird zunächst die (umständliche) alte Version vorgestellt, um folgend dann die enorme Vereinfachung mittels Excel 365 aufzuzeigen.
Vorweg:
Dies ist ja problemlos durch den weitgehend unbekannten Rechtsklick auf die Tabellennavigation (◄► unten links) möglich.
Hier geht es aber um die Auflistung in Zellen.
Mögliche Anwendung: Zugriff auf Tabellenblätter mittels INDIREKT().
Oder Integration des Tabellennamens in HYPERLINK().
Ausgangslage: gespeicherte Mappe mit den Blättern Montag, Dienstag, Samstag und Sonntag
Grundsätzlich notwendig ist zunächst die Vergabe eines Namen, der eine alte Excel4-Makro-Funktion enthält:
► Formeln → Namensmanager → Neu
► Name: x
► bezieht sich auf: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
(durch 0*JETZT() wird es volatil, heißt, eine Änderung eines Namens wird sofort in die Liste übernommen)
Versionen bis Excel 2019 (in Excel 2022 wird sich wohl auch nichts ändern):
In die erste Zelle der Auflistung:
=WENN(ZEILE(X1)>ANZAHL2(x);"";TEIL(INDEX(x;ZEILE(X1));FINDEN("]";INDEX(x;ZEILE(X1)))+1;31))
Die 31 ist die zulässige Maximallänge eines Blattnamen.
Die Formel so weit als nötig herunterziehen.
Man kann einen Puffer einbauen und sie großzügig ziehen, dann erfolgt die Ausgabe des Leerstrings "".
In Excel 365 wird die notwendige Formel enorm verkürzt.
Dies reicht in einer einzigen Formelzelle:
=MTRANS(TEIL(x;FINDEN("]";x)+1;31))
A | B | |
1 | "alt" | Excel365 |
2 | Montag | Montag |
3 | Dienstag | Dienstag |
4 | Samstag | Samstag |
5 | Sonntag | Sonntag |
6 | ||
7 |
Name | Bezug |
x | =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT()) |
Zelle | Formel |
A2 | =WENN(ZEILE(X1)>ANZAHL2(x);"";TEIL(INDEX(x;ZEILE(X1));FINDEN("]";INDEX(x;ZEILE(X1)))+1;31)) |
B2 | =MTRANS(TEIL(x;FINDEN("]";x)+1;31)) |
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)