Alle Tabellennamen im Dokument ermitteln

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

MisterSonic
Beiträge: 6
Registriert: So, 24.07.2011 17:52

Alle Tabellennamen im Dokument ermitteln

Beitrag von MisterSonic »

Hallo,

in meiner Calc Datei habe ich mehrere Tabellen, ganz am Ende werden es aktuell 94 sein. Ich würde nun gern ein eigenes Blatt in der Tabelle anlegen, wo z.B. von Tabelle 1 bis 94 die Namen enthalten sind. Diese Namen möchte ich nicht manuell Eintragen müssen sondern ermitteln lassen. Geht das überhaupt? Hintergrund der Sache ist : ich brauche aus jedem Tabellenblatt die Daten die z.B. in B16 und B19 enthalten sind, um die nicht mit Hand alle einzugeben habe ich gehofft gibt es eine Möglichkeit die Namen dynamisch zu ermitteln und dann z.B. über

=<ermittelter name1>.B16
=<ermittelter name2>.B16
=<ermittelter name3>.B16

in ein eigenes Blatt zu packen.

Ich hoffe ich konnte halbwegs verständlich zum ausdruck bringen was ich vorhabe. :) Hat jemand einen Lösungsweg? Bin für jede Hilfe dankbar!!
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,

das ist eine Aufgabe für Makroprogrammierung. Es gibt (meines Wissens) keine Funktion, die dir den Namen eines bestimmten Tabellenblatts (durch seine Nummer festgelegt) liefert.

Code: Alles auswählen

function tabname (n as integer)
	if n<1 or n>thiscomponent.sheets.count then
		tabname="#Fehler"
	else
		tabname=thiscomponent.sheets(n-1).name
	end if
end function
Diese Funktion liefert dir über den Aufruf

Code: Alles auswählen

=tabname(2)
den Namen des 2. Tabellenblattes (siehe auch meine Beispieldatei mit Aufrufbeispielen).
Dateianhänge
makro tabellennamen.ods
(12.13 KiB) 52-mal heruntergeladen
Gruß,
mikeleb
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,
1) Lege in deiner Datei ein neues Makromodul an: Extras->Makros->Makros verwalten->Basic. Dort, wenn deine Datei markiert ist: Neu... Ok.
2) Öffne meine Datei, gehe dort in das Modul1 (Extras->Makros->Makros verwalten->Basic, im linken Baum, das Modul auswählen und dann Bearbeiten anklicken).
3) Markiere den gesamten Code, kopieren und in das Modul1 deiner Datei einfügen.
Gruß,
mikeleb
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,

noch eine Ergänzung:
Wenn du das Makro nicht in deiner Datei, sondern unter
->Makros ->Meine Makros-> Standard
ablegst, steht dir die Funktion in all deinen Dateien zur Verfügung. Auf anderen Rechner allerdings nicht.
Da könntest allerdings nachdem du deine 94 Tabellenblätter angelegt hast, die Namen einmalig erstellen (über die Funktion) und dann per Markieren, Kopieren, Inhalte einfügen (-> Text, keine Formeln) als Texte in deine Übersichtstabelle einfügen. Damit wäre die fertige Datei nicht mehr an das Makro gebunden.
Gruß,
mikeleb
MisterSonic
Beiträge: 6
Registriert: So, 24.07.2011 17:52

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von MisterSonic »

Das hat soweit schon ganz gut funktioniert VIELEN DANK DAFÜR!!! (Ehrlich zugegeben ... allein hätte ich das nie geschafft.)

Hast Du jetzt noch eine Idee wie ich alle Tabs untereinander gelistet bekomme, ohne alles einzeln zu schreiben =TABNAME(1) , =TABNAME(2) ..... ?? Wenn ich es kopiere wird leider immer =Tabname(1) eingefügt ...
Karolus
********
Beiträge: 7524
Registriert: Mo, 02.01.2006 19:48

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von Karolus »

Hallo

Code: Alles auswählen

=TABNAME( ZEILE() )
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
MisterSonic
Beiträge: 6
Registriert: So, 24.07.2011 17:52

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von MisterSonic »

Danke!!!

Leider ist nun nach dem erneuten öffnen das Blatt mit den Tabnamen leider voller fehler ... :(

Aus =TABNAME(1)

wird jetzt automatisch (auch wenn ich es wieder änderen)

='TABNAME(1)' gemacht ... wenn ich in die Makroverwaltung schaue ist das Makro jedoch in der Datei drin ... :(
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,
nur um sicher zu gehen: Makros sind aktiviert? (Makrosicherheit auf Mittel?)
Gruß,
mikeleb
MisterSonic
Beiträge: 6
Registriert: So, 24.07.2011 17:52

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von MisterSonic »

Ja, hab inzwischen sogar die Makrosicherheit auf Niedrig gesetzt, leider ohne erfolg...
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,

kannst du die Datei mal hochladen, dann hilft es sich leichter.
Gruß,
mikeleb
MisterSonic
Beiträge: 6
Registriert: So, 24.07.2011 17:52

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von MisterSonic »

Hallo, ich hab dies bezüglich eben schon eine Nachricht geschickt... ;)
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo,

das Problem ist mittlerweile gelöst.
Aus =TABNAME(1)

wird jetzt automatisch (auch wenn ich es wieder änderen)

='TABNAME(1)' gemacht
Die Ursache dafür war, dass eine Zelle (A1) auf dem tabellenblatt den Inhalt "Tabname" (als Text) hatte. Aus irgendwelchen Gründen führt das unter AOO4.4.1 zu dem seltsamen Verhalten, dass aus der Eingabe

Code: Alles auswählen

=TABNAME(1)
folgendes wird:

Code: Alles auswählen

='TABNAME'(1)
Vielleicht hat ja jemand eine logische Erklärung dafür.
Gruß,
mikeleb
Karolus
********
Beiträge: 7524
Registriert: Mo, 02.01.2006 19:48

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von Karolus »

Hallo
Vielleicht hat ja jemand eine logische Erklärung dafür.
Ja, es resultiert aus →Extras→Optionen|Einstellungen→Calc→Berechnen→[x]Spalten-|Zeilenbeschriftungen automatisch suchen
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
mikeleb
*******
Beiträge: 1412
Registriert: Fr, 09.12.2011 16:50

Re: Alle Tabellennamen im Dokument ermitteln

Beitrag von mikeleb »

Hallo Karolus,

danke - wieder was gelernt.
Gruß,
mikeleb
Antworten