Inhalt aller Tabellenblätter in ein neues kopieren als 1. te Tabelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Inhalt aller Tabellenblätter in ein neues kopieren als 1. te Tabelle

Re: Inhalt aller Tabellenblätter in ein neues kopieren als 1. te Tabelle

von Toxitom » Mi, 23.10.2019 17:13

Hey MavMan,
... bisher habe ich nur das winzige Grundgerüst....
hmm, jupp, das ist wirklich "sehr klein";))

Ich gebe Dir mal ein paar Denkanstöße:

1. Neues Tabellenblatt an Position 0 einfügen (Index 0 - mit dem der Methode "insertNewByName("Tabellenname", iIndex)")
2. Dann Deine Schleife von j = 1 bis blattzahl-1
3. dann in jedem Blatt: Tabellen-Cursor erzeugen. Methode: createCursor()
4. Cursor zur letzten benutzten Zelle bewegen, die kopiert werden soll (rechtsunten): oCursor.gotoEnd() -> Zelladresse auslesen. (Spalte/Zeile)
5. Zu kopierenden Bereich markieren: oCursor.getCellRangebyPosition(n1.Spalte, nObereZeile, nRechteSpalte, nUntereZeile) (jeweils Indexzahlen)
6. Inhalte Kopieren (getDataArray())
7. Auf Tabelle Index o gehen, dort die erste freie Zelle (Startzelle des Inhalts) identifizieren . Cursor erzeugen, Bereich markieren, der den Inhalt aufnehmen soll - wie oben mit getCellRangeByPosition)
8. Daten eintragen - setDataArray(aDaten)

Tia, das wäre der Ablauf.

alles nicht ganz trivial - ein wenig Eeinarbeitundszeit wirst Du Dir schon gönnen müssen :) ... und wenn es hakt... hier fragen.

Viele Grüße
Tom

Inhalt aller Tabellenblätter in ein neues kopieren als 1. te Tabelle

von MavMan » Mi, 23.10.2019 15:26

Hallo Community,

ich habe eine Datei mit x-Tabellenblätter. Die Anzahl der Spalten und Beschriftungen sind immer die gleichen! Nur die Anzahl der benutzen Zeilen sind eben unterschiedlich und man muss das Ende der benutzen Zeilen ermitteln lassen. Das heisst der Range muss durch das Makro ermittelt werden.

Ziel ist es, dass alle Tabellenblätter auf eines kopiert wird und das soll ganz vorne also als erstes Tabellenblatt eingefügt werden. Später möchte ich dieses neu eingefügte Tabellenblatt als "Zusammenfassung" beschriften.

Könnt ihr mir helfen?
Im Forum habe ich alles durchsucht, aber keine Lösung so gefunden, die das joinen übernimmt und als erstes Tabellenblatt einfügt.
Ich habe noch keine Ahnung, wie ich das machen soll - bisher habe ich nur das winzige Grundgerüst.

Code: Alles auswählen

Sub ONLINE
	'Mit der Hilfe aus de.openoffice.info Community 
	'20191023 - Initiale Erstellung
	blattanzahl = ThisComponent.Sheets.Count
	For j = 0 To blattanzahl-1
		aktuelles_Blatt = ThisComponent.Sheets.getByIndex(j)
	.........
	Next j
End Sub
Meine Libre-Version ist die: Version: 6.0.7.3

Vielen Dank für Eure Hilfe und Gedanken....
Grüsse
MavMan

Nach oben