Verweis auf die Nummer eines Tabellenblattes

Grüße an an alle,

gibt es in Calc eine Möglichkeit einen Verweis auf die "Nummer" des
Tabellenblattes zu setzen.

Beispiel:
=Kunst.H17

Kunst ist der Name des Tabellenblattes, also verweise ich hier auf die
Zelle H17 im Tabellenblatt Kunst.

Ich würde gerne so etwas haben:
=Tabelle[5].H17

Einen Verweis auf das 5 Tabellenblatt.

Geht das ohne Programmierung?

Danke
Jens

Hallo Jens,

Das wird nicht gehen. Intern sind die Blätter zwar durchnummeriert, die Nummern sind aber von der Reihenfolge abhängig. Während der Name eines Tabellenblattes fix bleibt, ändert sich der interne Index je nach Sortierung.

Insofern denke ich, dass Du das nicht wirklich möchtest;)

Wenn das aber so sein soll, so bleibt Dir nur die benutzerdefinierte Funktion - damit sollte es lösbar sein. Wäre dann halt doch ein Makro.

Viele Grüße

Thomas

Hallo Thomas,

Das wird nicht gehen. Intern sind die Blätter zwar durchnummeriert,
die Nummern sind aber von der Reihenfolge abhängig. Während der Name
eines Tabellenblattes fix bleibt, ändert sich der interne Index je
nach Sortierung.

Insofern denke ich, dass Du das nicht wirklich möchtest;)

Wenn das aber so sein soll, so bleibt Dir nur die benutzerdefinierte
Funktion - damit sollte es lösbar sein. Wäre dann halt doch ein Makro.

Danke für deine Antwort, so was habe ich geahnt.
Die Reihenfolge der Tabellenblätter würde gleich bleiben, damit wäre
eine Voraussetzung erfüllt. Nur programmieren möchte ich das nicht,
dafür sind es zu wenige Tabellenblätter (16 Stück). hier wäre eine
Nummer halt ganz praktisch.

Aber egal viel leicht wird sowas mal ein neues Feature, da man die
Blattnummer mit
=TABELLE( )
ja bestimmen kann.

Danke
Jens

Hey Jens,

Danke für deine Antwort, so was habe ich geahnt.
Die Reihenfolge der Tabellenblätter würde gleich bleiben, damit wäre
eine Voraussetzung erfüllt. Nur programmieren möchte ich das nicht,
dafür sind es zu wenige Tabellenblätter (16 Stück). hier wäre eine
Nummer halt ganz praktisch.

och, das ist nicht so aufwendig;)

Die folgende Funktion erfüllt genau Deine Wünsche:

function Copy2(nr as integer, zelle as string)
   sName = thisComponent.sheets(nr-1).name
   copy2 = thisComponent.sheets.getByName(sName).getCellRangeByName(zelle).formulaLocal
End function

In die Zelle käme dann der Begriff: =COPY2(1; D14)
Das heisst, der Inhalt der Zelle D14 vom Tabellenblatt 1 würde angezeigt, also identisch zur Formel =sheetxx.D14.

Sind natürlich keine Fehlerkorrekturen drin etc. Ist ein Prinzip-Makro. Muss in die Standardbibliothek des Dokumentes bzw. in dei Standardbibliothek von "MeineMakros"!

Viele Grüße
Thomas

Hallo Thomas,

Die folgende Funktion erfüllt genau Deine Wünsche:

function Copy2(nr as integer, zelle as string)
   sName = thisComponent.sheets(nr-1).name
   copy2 =
thisComponent.sheets.getByName(sName).getCellRangeByName(zelle).formulaLocal
End function

In die Zelle käme dann der Begriff: =COPY2(1; D14)
Das heisst, der Inhalt der Zelle D14 vom Tabellenblatt 1 würde
angezeigt, also identisch zur Formel =sheetxx.D14.

Sind natürlich keine Fehlerkorrekturen drin etc. Ist ein
Prinzip-Makro. Muss in die Standardbibliothek des Dokumentes bzw. in
dei Standardbibliothek von "MeineMakros"!

Danke
Jens