Seite 1 von 1

Funktion Tabelle(), aber andersrum

Verfasst: Sa 29. Sep 2012, 11:36
von Russe
Hallo,

mit der Funktion "TABELLE(Tabelle2.A1)" bekomme ich ja die Tabellennummer heraus, also an welcher Stelle die Tabelle "Tabelle2" im Dokument steht.
Gibt es dafür auch eine Möglichkeit das andersrum zu machen? Also dass ich mit der Tabellennummer eine Formel bilde und nicht mit dem Namen?

Hintergrund ist der ich habe auf der ersten Tabelle einen Vergleich von zwei Zellen, aus den beiden nachfolgenden Tabellen. Da sich diese Tabellen ändern muss ich in der Formel immer den Tabellennamen anpassen, wenn das aber auch mit der Tabellennummer gehen würde dann müsste ich meine Formel nicht immer wieder anpassen.
Hat jemand eine Idee wie das gehen könnte?

Re: Funktion Tabelle(), aber andersrum

Verfasst: So 30. Sep 2012, 18:31
von karolus
Hallo
Eine Formel die sich auf andere Tabellen bezieht, passt sich automatisch an wenn die Namen dieser Tabellen geändert werden!
Mit relativen Tabellenadressen passt sich die Formel auch dann an wenn du die Formel selbst in ein anderes Tabellenblatt kopierst/verschiebst!

Karolus

Re: Funktion Tabelle(), aber andersrum

Verfasst: So 30. Sep 2012, 18:41
von Russe
Habe mich da wohl ungeschickt ausgedrückt, die Tabellennamen ändern sich nicht, es kommen immer wieder neue dazu, das klappt dann nicht.

Ich bin aber gerade an einer Lösung dran wie ich das sonst machen könnte, werde das dann hier posten wenn es klappt.

Re: Funktion Tabelle(), aber andersrum

Verfasst: So 30. Sep 2012, 20:02
von Russe
So, hier nun meine Lösung, nicht ganz automatisch aber übersichtlich und ganz gut bedienbar.

Ich habe eine eigene Funktion angelegt:

Code: Alles auswählen

Function Tabellen_Namen()
Tabellen_Namen = ThisComponent.getSheets().getElementNames()
End Function
Dann habe ich eine neue Tabelle "Alle_Tabellennamen" angelegt und die ganz ans Ende verschoben damit sie mir nicht im Weg ist.
Dort habe ich eine Matrix festgelegt, einfach die ersten hundert Zellen in der Spalte A, das genügt vorerst:

Code: Alles auswählen

=MTRANS(TABELLEN_NAMEN())
Das schreibt mir alle Tabellennamen untereinander in die Spalte A.

Nun habe ich auf meiner ersten Tabelle "Vergleich" mittels Daten > Gültigkeit zwei Felder mit Auswahllisten bestückt:

Code: Alles auswählen

Alle_Tabellennamen.A2:A100
Jetzt kann ich mittels Drop Down Liste schnell die beiden ersten Einträge, das sind die Tabellen an zweiter und dritter Stelle, auswählen. Das erspart mir die Abtipparbeit der Tabellennamen wenn eine neue Tabelle dazugekommen ist.
Diese Tabellennamen werden dann an anderer Stelle in eine Funktion verwurschtelt und vergleichen mir Werte von diesen beiden Tabellen.

Re: Funktion Tabelle(), aber andersrum

Verfasst: Mo 1. Okt 2012, 17:11
von karolus
Hallo

Du kannst direkt in →Daten→Gültigkeit→...Zellbereich die Formel eintragen: =Tabellen_Namen()

Karolus

Re: Funktion Tabelle(), aber andersrum

Verfasst: Mo 1. Okt 2012, 20:10
von Russe
Genial, danke für den Tipp. Da brauche ich dann gar nicht das zusätzliche Tabellenblatt.