Calc: Tabellenname in Formel verwenden

Hallo,
ich möchte eine Tabelle nicht mit ihrer Nummer, sondern mit dem Namen
ansprechen, der in einer anderen Zelle steht. Manuell geschrieben würde
das bspw. so aussehen:

*Tabellenname* *Wert*
Hamburg =Hamburg.B2
Berlin =Berlin.B2
Dresden =Dresden.B2

Wie kann man nun in der Formel den Tabellennamen aus der Zelle links
daneben verwenden statt fester Eingabe? Bei meinen Versuchen ernte ich
bisher immer nur irgendwelche Fehler...

Hallo Boris

Genau so wie du das gerade schilderst, fällt mir dazu ohne Makro keine Lösung ein.
Was du allerdings machen kannst ist, mit Benannten Bereichen auf den jeweiligen Tabellen zu Arbeiten.
diese findest du im Menü unter:
Einfügen->Name->Festlegen.
Oder mit "Strg + F3"
Dort kannst du einzelnen Zellen, oder ganzen Zell-Bereichen auf den entsprechenden Tabellen
eindeutige Namen Zuweisen, die du dann per Formel benutzen kannst.
Genauere Hinweise findest du Hier: http://www.ooowiki.de/NamenFürZellen

Gruß
Frieder

Hallo,

Was du allerdings machen kannst ist, mit Benannten Bereichen auf den
jeweiligen Tabellen zu Arbeiten.

vermutlich habe ich mich missverständlich ausgedrückt. Die Tabelle, so wie ich sie hingeschrieben habe, funktioniert. Mir geht es um die Übernahme des Namens in die Formel. Am weitesten bin ich mir der Funktion INDIREKT() gekommen, aber auch nur soweit, dass mir der Name in der Form
  =Hamburg.$B$2
also als so lesbarer Text ausgegeben wurde. Daraufhin habe ich mit allerlei Anführungszeichen herumprobiert, aber nicht zum Ziel gefunden.
Bestimmt geht das so ähnlich, und ich meine, sowas in grauer Vorzeit in Excel schon einmal hinbekommen zu haben, aber mein Gedächtnis lässt mich im Stich...

BTW: wie bekommt man den Tabellennamen als Ergebnis? Die Funktion TABELLE() gibt ja nur die Tabellennummer aus.

Hier Eine Lösung von Mir:
Füge diese Funktion in ein Modul deiner Standart-Biebliotek.(Makro Sicherheit vorher auf Mittel oder Niedrig stellen)

function GetSheetName ( nSheetNumber As Integer) AS String
nSheetNumber=nSheetNumber-1
GetSheetName = ThisComponent.Sheets(nSheetNumber).Name
End Function

Dann Gebe in irgend eine Tabelle Folgentde Formel ein:

= GetSheetName(Tabelle())

Nun erscheint der Tabellenname in der Zelle.

Gruß
Frieder

Dafür gibt es die Funktion INDIREKT().

Angenommen, in A1 steht Hamburg, dann steht Berlin also in A2 und
Dresden in A3.

Wenn du jetzt in irgendwelchen drei anderen Zellen jeweils eingibst

=INDIREKT(A1&".b2")
=INDIREKT(A2&".b2")
=INDIREKT(A3&".b2")

dann stehen in diesen drei Zellen jeweils die Werte aus den B2-Zellen
deiner drei Blätter Hamburg, Berlin und Dresden.

Alles klar?

.... und tschüss

            Franklin

Hallo,

=INDIREKT(A1&".b2")
Alles klar?

ja genau, das hatte ich gesucht. Ich war auch kurz davor... :wink:

Hallo
Da habe ich dich wohl falsch verstanden.

Gruß
Frieder

Hallo,

Hier Eine Lösung von Mir:

Danke.
Ich habe auch eine Makro-freie Lösung gefunden: