code ist viel zu lang

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

Moderator: Moderatoren

Karolus
********
Beiträge: 7519
Registriert: Mo, 02.01.2006 19:48

Re: code ist viel zu lang

Beitrag von Karolus »

Hallo
Kürzer gehts :

Code: Alles auswählen

Sub schleifen_beispiel
osheet = thiscomponent.sheets().getbyname("Tabelle1")

for iSuper = 2 to 37 step 7
	for isub = 0 to 4
	if osheet.getcellbyposition(50,isuper+isub).value = 0 then
		osheet.getcellrangebyposition(40,isuper+isub,43,isuper+isub).clearcontents(com.sun.star.sheet.CellFlags.VALUE)
		osheet.getcellbyposition(49,isuper+isub).clearcontents(com.sun.star.sheet.CellFlags.VALUE)
	end if
	next isub
next isuper
end sub
obs deshalb schneller läuft ?

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

Re: code ist viel zu lang

Beitrag von Hömmelmann »

Moin,

wenn ich davon ausgehe, dass in diesem Beispiel das Löschen der Werte vom Inhalt abhängig ist (If ...Value=0 then...),
dann müsste doch auch folgendes funktionieren

...
osheet.getcellrangebyname("AY3:AR42").clearcontents(com.sun.star.sheet.CellFlags.STRING)

denn damit werden alle Einträge ohne numerischen Wert entfernt.


Gruß, Friedhelm
Antworten