Tabelle in verschiedene Arbeitsblätter übertragen

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

Moderator: Moderatoren

Micki_Maus
Beiträge: 3
Registriert: Mi, 17.03.2010 23:16

Tabelle in verschiedene Arbeitsblätter übertragen

Beitrag von Micki_Maus »

Hallo allerseits,
ich habe jetzt ewig im Forum nach einer Lösung meines Problems gesucht, allerdings wurde ich bis jetzt noch nicht fündig.
Man muß natürlich wissen, daß ich blutiger Anfänger in Sachen Makros bin und nicht unbedingt das passende aus den Beiträgen herauslesen kann.
Ich hoffe nun jemanden zu finden, der mir aus der Patsche helfen kann.

Mein Problem:
Ich habe eine Tabelle mit zwei Spalten und jeweils 5 Zellen, die paarweise (also D4+E4,D5+E5 usw.) auf die einzelnen Arbeitsblätter verteilt untereinander
nach Datum gespeichert werden sollen.
Für eure Antworten im Voraus vielen Dank
Manfred
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Tabelle in verschiedene Arbeitsblätter übertragen

Beitrag von turtle47 »

Hallo Manfred,

versuche es mal so:

Code: Alles auswählen

Sub Daten_Uebertragen
Dim i as integer
Dim oDocument as Object
Dim oSheet1 as Object
Dim oSheet2 as Object
	oDocument = ThisComponent
	oSheet1 = oDocument.Sheets.getByIndex(0)'Quelltabelle Tabellenblatt 1
	for i = 1 to 5	'Schleife für Quellzeile und Zielsheets
	oQuelleRange = oSheet1.getCellRangeByPosition(3,i+2,4,i+2)'Zellbereich D4:E4 bis D8:E8
	oSheet2 = oDocument.Sheets.getByIndex(i)'Tabellenblätter 2 bis 6
	LR = letzte_Zeile(i)'Function für letzte Zeile aufrufen
	oQuellRangeAddresse = oQuelleRange.getRangeAddress
	oZiel = oSheet2.getCellByPosition(1,LR +1)'Letzte Zeile +1 auf Zielsheet
	oZielCellAdresse = oZiel.getCellAddress
	oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)'Bereich kopieren	
	oSheet2.getCellByPosition(0,LR +1).Value = now 'Datum und Uhrzeit eintragen
	next i
	MsgBox "Daten wurden erfogreich übertragen" , 64, "Abschlussmeldung"
end Sub

Function letzte_Zeile(i as integer) as integer
	oSheet = thisComponent.sheets(i)'Zielsheet i ansprechen
	ocursor = oSheet.createCursor()
	ocursor.gotoStart()   
	ocursor.gotoEndofUsedArea(false)'letzte Zelle des Bereiches ermitteln
	letzte_Zeile = ocursor.getRangeAddress.endRow 'Index der letzten Zeile des Bereichs
End Function
Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Micki_Maus
Beiträge: 3
Registriert: Mi, 17.03.2010 23:16

Re: Tabelle in verschiedene Arbeitsblätter übertragen

Beitrag von Micki_Maus »

Hallo Jürgen,

also das hätte ich nie hinbekommen, dazu fehlen mir einfach die entsprechenden Kenntnisse.
Das ist's, was ich benötigt habe.

Tausend Dank
und noch frohe Ostern

Manfred
Antworten