gelöst: Auflistung der Namen aller Tabellenblätter

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

gelöst: Auflistung der Namen aller Tabellenblätter

Beitrag von heinz_ketchup »

Liebe Helfer,

gibt es eine Möglichkeit, die Bezeichnungen aller Tabellenblätter einer Datei aufzulisten, um mit diesen Namen weiter zu arbeiten, z.B. Abgleich mit einer anderen Listen per SVERWEIS etc.

Im Navigator gibt es ja eine Auflistung aller Tabellenblätter, leider kann man diese nicht kopieren, um sie anderweitig zu verwenden.

Schon jetzt vielen Dank für eure Hilfe.

Schöne Grüße
Werner
Zuletzt geändert von heinz_ketchup am Mi, 13.11.2013 11:01, insgesamt 1-mal geändert.
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Auflistung der Namen aller Tabellenblätter

Beitrag von Karolus »

Hallo

Code: Alles auswählen

Sub Main
sheetnames = thisComponent.Sheets.Elementnames
for each entry in sheetnames
print entry
next

End Sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

Re: Auflistung der Namen aller Tabellenblätter

Beitrag von heinz_ketchup »

Hallo Karolus,

vielen Dank für das Makro. Es zeigt mir die Tabellennamen nacheinander in einer Meldungsbox.
Leider kenne ich mich mit Makros nicht so gut aus. Kann man das Makro so umgestalten, dass die Tabellennamen untereinander in die Zellen einer extra Tabelle (in der Arbeitsmappe) geschrieben werden? Dann wäre mein Ziel erreicht.

Danke und Gruß
Werner
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Auflistung der Namen aller Tabellenblätter

Beitrag von clag »

Hallo heinz_ketschup,

den von Karolus gezeigten Makrocode kann man auch prima in eine eigene Funktion umbauen
und hier geschehen das Ergebnis ist

Code: Alles auswählen

FUNCTION TBLATTNAME(a as integer)
sheetnames = thisComponent.Sheets.Elementnames
if a < 1  or a > ubound(sheetnames)+1 then
TBLATTNAME = "Fehler"
exit FUNCTION
end if
TBLATTNAME = sheetnames( a-1 )
end FUNCTION


damit sollte dein Wunsch erfüllt sein
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

Re: Auflistung der Namen aller Tabellenblätter

Beitrag von heinz_ketchup »

Hallo clag,

vielen Dank für das Makro! Funktioniert prima.

Schöne Grüße
Werner
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
quotsi
******
Beiträge: 769
Registriert: Do, 14.11.2013 10:04

Re: gelöst: Auflistung der Namen aller Tabellenblätter

Beitrag von quotsi »

Bei mir will diese Funktion als Makro nicht funktionieren. Es kommt die Meldung: "wrong number of parameters".
Habe ich es falsch eingebunden?
Danke für Antwort.
win11 - Avira - LO 24.8.4.2 (X86_64)
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
quotsi
******
Beiträge: 769
Registriert: Do, 14.11.2013 10:04

Re: gelöst: Auflistung der Namen aller Tabellenblätter

Beitrag von quotsi »

Habs schon begriffen. Hat sich also erledigt.
win11 - Avira - LO 24.8.4.2 (X86_64)
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Antworten