Hallo Wolfgang,
am 04.03.2015 um 17:03 Uhr schrieb Wolfgang Jäth
<jawo.ml.hamster@arcor.de>
Am 04.03.2015 um 12:02 schrieb Franklin Schiftan:
Leider bist Du hier auf eine der (von Anfang an bestehenden)
Inkonsistenzen in Calc gestoßen. Alle Funktionen liefern als
Infromation über die Tabelle nur deren *Nummer* (in der
Reihenfolge unten in der Tableiste) zurück, aber die Funktion
ADRESSE benötigt den *Namen* der Tabelle.
Und an den kommst Du mit 'natürlilchen' Mitteln nicht ran.
Hmm, ich komme hier an meinen aktuellen Blattnamen z.B. mit der
folgenden Formel:
=TEXT(TEIL(ZELLE("dateiname";A1);FINDEN("$";ZELLE("dateiname";A1))+1;255)-1;"0###")
Ja; aus einer *bekannten* Adresse kann man auf die Weise den
Blattnamen extrahieren. Der OP fragt aber nach *unbekannten*
Adressen, die er ja erst konstruieren *will*.
Klar könnte sich der OP, statt das Makro zu verwenden, auch
hinsetzen, und 32 mal händisch eine Verküpfung auf jede der
einzelnen Tabellenblätter erstellen, und dann /daraus/ den
jeweiligen Tabellennamen extrahieren.
Ich hatte Deine Formulierung "Alle Funktionen liefern als Infromation
über die Tabelle nur deren *Nummer* (in der Reihenfolge unten in der
Tableiste) zurück" so verstanden, dass man darüber dann z.B. eine
Zelle auf dem *ersten* Blatt, auf dem *zweiten* Blatt etc. ansprechen
und so dann auch über die obige Formel deren Namen rauskriegen könnte.
Aber wenn ich Dich da missverstanden habe, dass man so auch nicht
indirekt z.B. die Zelle A1 auf dem 10. Blatt adressieren kann, dann
geht es natürlich nicht.
Hinweis: In diesem Sheet haben meine Blattnamen alle das Format
JJMM, daher der verwendete Formatstring "0###".
Schön für Dich; aber was hat das mit dem Problem des OP zu tun?
Na, wie gesagt nur als Hinweis, dass es für ihn daher vermutlich nicht
sinnvoll ist, diesen Format-String auch genauso zu übernehmen, falls
er es ebenfalls ausprobieren wollte.
Ich würde in meinem Beispiel also auch mit '4' anstelle der in
obiger Formel vorsichtshalber verwendeten (Maximal?)Länge von 255
auskommen. Wenn man aber nicht weiß, wie lang die Blattnamen sein
könnten, wäre man mit 255 aber auf der sichereren Seite.
Naja, Du hättest natürlich auch auch einfach z. B.
=RECHTS(ZELLE("filename";A1);LÄNGE(ZELLE("filename";A1))-FINDEN("$";ZELLE("filename";A1)))
Ah ja, auch interessant ... werde ich mir gleich mal für ähnliche
Gelegenheiten aufheben. Danke.
verwenden können, dann hättest Du Dir den Kopf erst gar nicht
wegen irgend welchen Überlegungen von wegen mögliche Textlänge
zerbrechen müssen;
Ja, Dein Vorschlag ist natürlich bei völlig unbekannten Blattnamen
deutlich besser.
aber Hauptsache es funktioniert.
Btw. wärst Du im Ernstfall auch mit 255 Zeichen nicht auf der
sicheren Seite; benenn doch einfach mal ein Tabellenblatt um, und
kopier dafür die Zeichenfolge "0123456789" einfach hintereinander
dreißig mal in das Eingabefeld für den neuen Tabellennamen hinein
... <beg>
Deswegen hatte ich ja in meinem Posting extra '(Maximal?)' - mit
Fragezeichen - ergänzt, weil ich mir eben nicht sicher war, ob das
tatsächlich die maximale Blattnamenslänge darstellt. ;-)
Wolfgang
--
..... und tschüss
Franklin
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.