Seite 1 von 1
zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 09:04
von tsw68
Hallo Freaks
Würde gerne ein Listenfeld erstellen um zu anderen Tabellen zu springen.
Meine einträge für das Listenfeld stehen auf Tabelle1 A1 - A35.
So wie die einträge heissen so habe ich auch die Tabellenname vergeben.
Ich finde bei Google einfach nix.
Ich Bitte um eure Hilfe !! Danke.
MFG tsw68
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 09:35
von Karolus
Warum möchtest du das Rad neu erfinden, es gibt den →Navigator und es gibt unten die Tabellenreiter auf die du nur draufklicken musst.
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 09:48
von tsw68
dort gibt es den reiter Listen-Einträge
kann dort aber nicht z.b. A1-A35 angeben.
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 11:20
von paljass
Hi,
dort gibt es den reiter Listen-Einträge
kann dort aber nicht z.b. A1-A35 angeben.
...aber die Tabellennamen stehen doch da
Ansonsten guck dir mal die Funktion Hyperlink an, damit geht sowas - du kann die Hyperlichadresse auch aus dem Text einer Zelle generieren.
Gruß
paljass
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 11:50
von Stephan
dort gibt es den reiter Listen-Einträge
Was soll das heißen? Diesen Reiter gibt es weder unter den Tabellenreitern, noch im Navigator.
Gruß
Stephan
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 11:52
von Stephan
Würde gerne ein Listenfeld erstellen um zu anderen Tabellen zu springen.
Meine einträge für das Listenfeld stehen auf Tabelle1 A1 - A35.
So wie die einträge heissen so habe ich auch die Tabellenname vergeben.
Ich finde bei Google einfach nix.
Ich Bitte um eure Hilfe !! Danke.
Meiner Meinung nach geht das nur per Makro, z.B.:
Code: Alles auswählen
Sub Sprung_zur_Tabelle(Event)
tc = ThisComponent
mySheet = tc.Sheets.getByName(Event.Source.SelectedItem)
tc.CurrentController.setActiveSheet(mySheet)
End Sub
siehe anhängende Datei.
Gruß
Stephan
Re: zu Tabellen springen mit Listenfeld
Verfasst: Fr, 10.03.2017 21:55
von F3K Total
Hallo,
ich habe da eine Alternative anzubieten. Mit folgendem Makro, einmalig ausgeführt, wird auf allen vorhandenen Tabellen einer Datei der Zelle A1 ein Name zugeordnet. Die Tabellen können nach der Ausführung des Makros oben links im Namenfeld, dass sich wie ein Listenfeld verhält, ausgewählt werden:
Code: Alles auswählen
Sub Set_Named_Ranges
ocelladress = Thiscomponent.Sheets(0).getcellbyposition(0,0).Celladdress
oSheets = Thiscomponent.Sheets
for i = 0 to oSheets.count - 1
sSheetName = oSheets(i).Name
sN = format(i+1,"000")
thisComponent.NamedRanges.addNewByName(sN & "_"& sSheetName, sSheetName & ".$A$1",ocelladress ,0)
next i
End Sub

- NR.png (9.81 KiB) 6770 mal betrachtet
Mit diesem Makro können alle Namen wieder entfernt werden:
Code: Alles auswählen
Sub Remove_Named_Ranges
NR = thisComponent.NamedRanges
EN = NR.ElementNames
for i = 0 to ubound(EN)
NR.RemovebyName(EN(i))
next i
end Sub
Gruß R
EDIT: Es ist natürlich nicht nötig die Namen per Makro zu vergeben, man kann sie auch von Hand eingeben, also Zelle oder Zellbereich markieren und im Namenfeld den Namen dafür eintippen. Vorteil: Das Namenfeld ist immer sichtbar, egal auf welchem Tabellblatt man sich gerade befindet.
Re: zu Tabellen springen mit Listenfeld
Verfasst: Sa, 11.03.2017 08:16
von tsw68
Hi,
Die Lösung von Stephan gefällt mir ganz gut .
Kann man noch einen namen vergeben der vor der Tabellenauswahl im Listenfeld steht ?
Re: zu Tabellen springen mit Listenfeld
Verfasst: So, 12.03.2017 10:01
von tsw68
Hallo Leute
die Datei von Stephan würde ich gerne verwenden.
Problem:
Beim ersten Start ist das Listenfeld Leer und nach auswahl steht die letzte auswahl im Listenfeld.
Würde gene noch wissen wie von anfang an dort Bitte auswählen im Listenfeld steht und nach der auswahl auch.
Würde mich freuen wenn ihr das auch noch hinbekommt!
Danke
MFG tsw68
Re: zu Tabellen springen mit Listenfeld
Verfasst: So, 12.03.2017 11:38
von Stephan
Würde gene noch wissen wie von anfang an dort Bitte auswählen im Listenfeld steht und nach der auswahl auch.
Das ist mit einem Listenfeld nicht möglich. Du wolltest aber ein Listenfeld.
Gehen würde es mit einem Kombinationsfeld und z.B. folgendem Makro:
Code: Alles auswählen
Sub Sprung_zur_Tabelle(Event)
tmp = Event.Source.Text
Event.Source.Text = "Bitte wählen"
tc = ThisComponent
mySheet = tc.Sheets.getByName(tmp)
tc.CurrentController.setActiveSheet(mySheet)
End Sub
Gruß
Stephan
Re: zu Tabellen springen mit Listenfeld
Verfasst: So, 12.03.2017 12:29
von tsw68
Hallo,
Super gut So habe ich mir das vorgestellt.
Dankeschön sage ICH !!!
Gruß: tsw68
Re: zu Tabellen springen mit Listenfeld
Verfasst: So, 12.03.2017 12:44
von Karolus
Was mir an derlei Fragen zunehmend auf den Geist geht:
tsw68 hat geschrieben: Fr, 10.03.2017 09:04
Hallo Freaks
Würde gerne ein Listenfeld erstellen um zu anderen Tabellen zu springen.
Am Anfang wird noch sowas wie Eigeninitiative suggeriert…
tsw68 hat geschrieben: So, 12.03.2017 12:29
Hallo,
Super gut So habe ich mir das vorgestellt.
Dankeschön sage ICH !!!
…und am Ende ists wieder reinstes Konsumieren ohne irgendwelche eigenen Anstrengungen
Re: zu Tabellen springen mit Listenfeld
Verfasst: Mo, 13.03.2017 07:57
von tsw68
HI,
Bedanke mich nochmal.
Ich schalte schon mein Gehirn ein und versuche es aleine zu schaffen.
Makros sind nicht mein fall und ich würde nicht hir ins Forum schreibenwen wen ich es wüsste.
Es tut mir leid bin auch nicht ein Mann mit grosse worte und kann nicht so gut erklären.
Vieleicht habe ich mich auch nur falsch ausgedrückt.
Bis die Tage keine frage!
MFG tsw68
Re: zu Tabellen springen mit Listenfeld
Verfasst: Mo, 13.03.2017 08:46
von Thomas Mc Kie
Karolus hat geschrieben: So, 12.03.2017 12:44…und am Ende ists wieder reinstes Konsumieren ohne irgendwelche eigenen Anstrengungen
Wird aber auch zunehmend unterstützt, indem diese fertigen Lösungen recht fix geliefert werden.
Ich poste auch gerne mal Informationshappen, wo sich der Fragende erstmal weiter einlesen soll/muss (nur so lernt man auch wirklich was). Aber max. 1-2 h später postet meistens ein anderer die fertige Lösung. Ist gut gemeint, da bin ich mir sicher, aber der Fragende lernt da wenig draus und man "erzieht" die Fragenden dann auch dazu, nur noch auf die Lösung zu warten.
So, genug offtopic.
Grüße
Thomas