Zellbereiche mit Farbe füllen

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

Moderator: Moderatoren

turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Zellbereiche mit Farbe füllen

Beitrag von turtle47 »

Hallo Experten,

ich möchte mehrere Zellbereiche mit Farbe füllen.

Mit folgendem Makro wird ein Zellbereich mit Farbe gefüllt:

Code: Alles auswählen

Sub FarbeZellen
oCalc = ThisComponent
oBereich=oCalc.Sheets(0).getCellRangeByName("D4:D8")
oBereich.CellBackColor = RGB (47, 138, 221)
end sub
Wie stelle ich es aber an mehrere Zellbereiche zu füllen.

Mit:

Code: Alles auswählen

Sub FarbeZellen
oCalc = ThisComponent
oBereich=oCalc.Sheets(0).getCellRangeByName("D4:D8,F4:F8" )
oBereich.CellBackColor = RGB (47, 138, 221)
end sub
funktioniert es leider nicht!

Vorab schon Danke für die Hilfe.

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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Nimm einfach:

Code: Alles auswählen

Sub FarbeZellen
z = Array("D4:D8","F4:F8") 
oCalc = ThisComponent 
For i = LBound(z()) To UBound(z())
	oBereich=oCalc.Sheets(0).getCellRangeByName(z(i)) 
	oBereich.CellBackColor = RGB (47, 138, 221) 
Next i
end sub


Gruß
Stephan
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Beitrag von turtle47 »

Hallo Stephan.

vielen Dank für die schnelle Antwort.
Funktioniert richtig super!!
Ist von Dir ja auch nicht anders zu erwarten. :D

Hatte in der Zwischenzeit durch experimetieren auch eine Lösung gefunden.

Was hälst Du denn von meinem Ansatz, wenn ich in dem Makro zu dem jeweiligen Bereich noch einen Kommentar hinterlegen will:

Code: Alles auswählen

Sub Sub FarbeZellen
oCalc = ThisComponent
oBereich=oCalc.Sheets(0).getCellRangeByName("D4:D8" ) 'mit MwSt.
oBereich.CellBackColor = RGB (47, 138, 221)
oBereich=oCalc.Sheets(0).getCellRangeByName("J5:J16" ) 'ohne MwSt.
oBereich.CellBackColor = RGB (47, 138, 221)

................

End Sub
oder kann es da zu irgendwelchen Komplikationen kommen?

Ich möchte hier keinen Smaltalk anfangen, aber wie lange beschäftigst Du Dich schon mit Basic um so ein Wissen präsent zu haben?

Nochmals Danke


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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Ist von Dir ja auch nicht anders zu erwarten.
Na, nun aber nicht zuviel Lob :wink: - zumal die Anzahl meiner posts nur etwas über meine Ausdauer sagt hier Fragen zu beantworten und nicht darüber ob ich so gut bin.
oder kann es da zu irgendwelchen Komplikationen kommen?
Nein, das ist OK.
aber wie lange beschäftigst Du Dich schon mit Basic um so ein Wissen präsent zu haben?
Naja, wenn ich es wörtlich beantworte seit Herbst 1985. Basic (bzw. ein spezifischer Basic-Dialekt) war die erste Programmiesprache die ich erlernt habe.
Aber Du meinst natürlich eigentlich StarBasic (nehme ich an). Da ich das hier:
viewtopic.php?t=881&highlight=stephan
als ersten post von mir im Basic-Forum finde (damals noch als unangemeldeter Gast), schätze ich mal seit Februar oder März 2004.



Gruß
Stephan
Antworten