Makro oder Funktion um dynamische Tabllen zu kopieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro oder Funktion um dynamische Tabllen zu kopieren

Beitrag von Stephan »

Hat niemand eine Idee?
Wahrscheinlich versteht niemand die Frage, denn die Rede ist vom Kopieren einer Tabelle, im Makro jedoch werden Werte aus einer Tabelle in ein Array geschrieben und im Text ist dann noch die Rede von "ein sich selbst itterierendes Array".

wenn der Inhalt eines Zellbereichs von einem Blatt ins andere kopiert werden soll geht das am Einfachsten so:

Code: Alles auswählen

With ThisComponent.Sheets()
	werte=.getByName("Tabelle1").getCellRangeByName("A1:B10").getDataArray()
	.getByName("Tabelle2").getCellRangeByName("D1:E10").setDataArray(werte())
End With
Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro oder Funktion um dynamische Tabllen zu kopieren

Beitrag von Stephan »

Gibt es eine Möglichkeit neue Zeilen zu einem Sheet hinzuzufügen
Nein, eine solche Möglichkeit gibt es nicht, die Anzahl von Zeilen/Spalten kann nicht erweitert werden.

Ein Löschen oder Hinzufügen KONKRETER Zeilen ist möglich, z.B.:
http://www.dannenhoefer.de/faqstarbasic ... uegen.html

bewirkt aber eben nicht das sich die Gesamtzeilenzahl des Tabellenblatts ändert [1].
Die Konsequenz daraus ist auch das z.B. das Hinzufügen von Zeilen nur dann geht wenn es im Tabellenblatt noch Zeilen ohne Inhalt gibt die beim Hinzufügen quasi 'über den Rand der Welt' rutschen können.

[1] Anmerkung: es gibt gelegentlich Unterschiede für Zeilen/Spalten abhängig von der Programmversion, z.B. haben die OOo 1.x Versionen mal mit nur 32768 Zeilen begonnen, wenn ich mich recht erinnere. "gelegentlich" weil sich diese Werte wirklich nur selten ändern und meist über viele Versionen konstant sind.


Gruß
Stephan
Antworten