Seite 1 von 1

Re: Zelle nach RGB-Angaben färben

Verfasst: Fr, 19.06.2009 22:06
von turtle47
Hi DmxQuni,
DmxQuni hat geschrieben:gibte es eine formel dafür
Nein.
DmxQuni hat geschrieben:oder brauch ich einen speziellen code ?
Ja.

Findest Du hier. Müsste nur für Spalten angepasst werden.
Übrigens klemmt wahrscheinlich Deine Shifttaste. Solche durchgehend kleingeschriebenen Texte lassen sich unheimlich schlecht lesen.

Viel Erfolg.

Jürgen

Re: Zelle nach RGB-Angaben färben

Verfasst: Fr, 19.06.2009 22:25
von Karolus
Hallo
Geht per Makro
Erklärungen im Code

Code: Alles auswählen

Sub B1_einfaerben
with thisComponent.sheets(0) '1. Tabellenblatt mit Index 0
	r = .getcellrangebyname("A1").value   'In A1 bis-
	g = .getcellrangebyname("A2").value  'A3 stehen die -
	b = .getcellrangebyname("A3").value  ' rgb-werte
	.getcellrangebyname("B1").cellbackcolor = RGB(r,g,b) 'B1 wird eingefärbt.
end with
End Sub
Gruß Karo

Re: Zelle nach RGB-Angaben färben

Verfasst: Fr, 19.06.2009 22:40
von turtle47
Hi Karo,

sorry, aber es muss trotz verbundener Zellen heissen:

Code: Alles auswählen

.getcellrangebyname("B1:B3").cellbackcolor = RGB(r,g,b)
Viele Grüsse.

Jürgen

Re: Zelle nach RGB-Angaben färben

Verfasst: Fr, 19.06.2009 22:57
von Karolus
Hallo Jürgen
DmxQuni hat geschrieben:..
daneben würde ich gerne eine zelle mit der aus diesen Werten resultierenden Farbe einfärben.
..
Daraus schloss ich das er nur eine Zelle einfärben will, seinen 2. Beitrag hatte ich noch nicht gelesen.
nur wie bekomm ich das ganze jetzt Automatisiert hin, so dass ich nicht immer wieder das Makro ausführen muss?
@kuni
such im Basic und Java-unterforum nach "Listener"

Gruß Karo

Re: Zelle nach RGB-Angaben färben

Verfasst: Fr, 19.06.2009 23:15
von turtle47
Hallo Zusammen,
Karolus hat geschrieben:seinen 2. Beitrag hatte ich noch nicht gelesen.
Das entschuldigt natürlich alles. :wink:
DmxQuni hat geschrieben:nur wie bekomm ich das ganze jetzt Automatisiert hin, so dass ich nicht immer wieder das Makro ausführen muss?
Wie Karolus schon schrieb, mit einem Listener der beim Öffnen der Datei gestartet wird und beim schliessen wieder deaktiviert wird.
Die Einstellung dazu findest Du in der Datei unter Menue > Extras > Optionen > Anpassen > Reiter Ereignisse.

Hatte eine ähnliche Datei noch in meiner Grabbelkiste und kurz umgebaut.


Viel Spass.

Jürgen

Re: Zelle nach RGB-Angaben färben

Verfasst: Sa, 20.06.2009 10:24
von turtle47
Hallo Zusammen,

das Thema hatte mich vor einiger Zeit schon einmal beschäftigt und ich wollte das mit einer "Function" lösen.
Aber leider ist es nicht möglich über eine "Function" direkt die Farbe einer Zelle mittels

Code: Alles auswählen

oCell.CellBackColor = RGB(255,0,0)
direkt zu ändern.

Jetzt habe ich doch eine Möglichkeit gefunden. :lol:
Und zwar über den Weg einer Zellvorlage.

Beispiel:
Zunächst legt man eine eigene Zellvorlage (F11) an. In diesem Beispiel mit dem Namen "Cell_Background_Color"

Der Code für die Function lautet dann:

Code: Alles auswählen

Function Change_BGC()
Dim oDoc
	with thisComponent.getSheets().getByName("Tabelle1")
	r = .getcellrangebyname("A1").value   'In A1 bis-
	g = .getcellrangebyname("A2").value  'A3 stehen die -
	b = .getcellrangebyname("A3").value  ' rgb-werte
	end with
	oDoc = ThisComponent
	oStyles = oDoc.StyleFamilies 'Vorlagen des Dokumentes anprechen
	oCharacterStyles = oStyles.getByName("CellStyles")'Zellvorlagen anprechen
	myStyle = oCharacterStyles.getByName("Cell_Background_Color")'erstellte Zellvorlage anprechen
	myStyle.CellBackColor = RGB(r,g,b)'Farbe der Zellvorlage zuweisen und somit auch der Zelle
End function
Die Syntax der Zielzelle lautet:

Code: Alles auswählen

=CHANGE_BGC(A1:A3)
Der Zielzelle dann die Zellvorlage zuweisen.

Die RGB-Werte schreibt man dann in den Zellbereich "A1:A3".

Und schwups ändert sich die Zellfarbe der Zielzelle. 8)

Also, mir persönlich ist das so lieber als mit dem Listner im Hintergrund zu arbeiten.

Vielleicht kann das ja mal jemand brauchen.

Jürgen