Seite 1 von 1

Automatische Leerzeilen einfügen

Verfasst: So, 24.08.2008 11:09
von the-morpheus
Hallo

ich hab hier einen Datensatz der folgendermasen aufgebaut ist:

Zahlen | Kalenderwoche | Datum | Uhrzeit | weitere Textspalten
Zahlen | Kalenderwoche | Datum | Uhrzeit | weitere Textspalten
Zahlen | Kalenderwoche | Datum | Uhrzeit | weitere Textspalten
Zahlen | Kalenderwoche | Datum | Uhrzeit | weitere Textspalten

dieser soll wie folgt formatiert werden:

Zahlen | 7 | Datum | Uhrzeit | weitere Textspalten
Zahlen | 7 | Datum | Uhrzeit | weitere Textspalten
----------------------------------------------------------------> Rahmen untern
-> Leerzeile
---------------------------------------------------------------> Rahmen oben
Zahlen | 8 | Datum | Uhrzeit | weitere Textspalten
Zahlen | 8 | Datum | Uhrzeit | weitere Textspalten


ich könnte es zwar von Hand machen, dauert aber sehr lange, da im Laufe der Zeit immer wieder neue Daten hinzukommen und dieses Datenblatt nur eine Auswertung ist. Ich hoffe das es dafür eine elegante Lsg gibt.

MFG

Re: Automatische Leerzeilen einfügen

Verfasst: So, 24.08.2008 13:12
von Karolus
Hallo
Erstell dir über ->F11 zwei neue Zellvorlagen mit den Namen: "Rahmen_unten" und "Rahmen_oben"
und lass folgendes Makro laufen:

Code: Alles auswählen

Sub Rahmen_und_Zeilen

odoc = thisComponent
osheet = odoc.sheets(0) '1.Tabellenblatt
orows = osheet.getrows
z = 0  'Hier wird die erste zu bearbeitende Zeile eingestellt. Die 1.Zeile hat den Index 0
do until osheet.getcellbyposition(0,z).string = ""
	if osheet.getcellbyposition(1,z).value <> osheet.getcellbyposition(1,z+1).value then
		osheet.getcellrangebyposition(0,z,11,z).cellstyle = "Rahmen_unten"
		z = z + 1
		osheet.getcellrangebyposition(0,z,11,z).cellstyle = "Rahmen_oben"
		orows.insertbyindex(z,1) 'Index und Anzahl
	end if
		z = z + 1
loop

End Sub
Quelltext übernehmen

Gruß Karo