Seite 1 von 1

Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Verfasst: So, 24.05.2009 18:43
von Animal21
Hallo Leute,

ich hab besteimmte Farbwerte (RGB-Werte) (ich benutz den calc zur analyse besteimmter dinge):

Diese stehen jeweils in 3 spalten und in der 4. spalte, soll die entsprechene farbe, welche diese werte ergeben stehn.

wie könnt ih das umsetzten (soll halt dynamisch passieren, wie eine funktion praktisch)
so z.b.:
pseudocode:
cell 4.background = color.FromARGB((int)cell1,(int)cell2,(int)cell3);


gibbet sowas in die richtung?


mfg
ani

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Verfasst: So, 24.05.2009 22:39
von Karolus
Hallo
Falls das dynamisch funktionieren soll musst du hier mal nach "listener" suchen.
Ein einfaches Makro das den Hintergrund von D aus den Werten der drei Spalten vorher einfärbt wäre.

Code: Alles auswählen

Sub hintergrundfarbe
with thisComponent.sheets(0) '1.Tabelle
do while .getcellbyPosition(0,i).value + .getcellbyPosition(1,i).value + .getcellbyPosition(0,i).value > 0
	r = .getcellbyPosition(0,i).value
	g = .getcellbyPosition(1,i).value
	b = .getcellbyPosition(2,i).value
	.getcellbyPosition(3,i).cellbackcolor = RGB(r,g,b)
	i = i +1
loop
end with

End Sub
Gruß Karo

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Verfasst: So, 24.05.2009 23:06
von Animal21
dankeschön, klappt wunderbar

hab leide rnich viel ahnung voin der vb syntax, bzw im zusammenspiel mit calc.

wenn ich 4 spalten anwähl, würd ich gern die infos aus den ersten drein ziehn und als farbe in die 4. schreiben (da muss ich den code dann nich anpassen wenn sich die spalten ändern...)

gibts was mit "selected..." oder so?


weist was ich meine?

mfg
ani

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Verfasst: Mo, 25.05.2009 08:03
von Karolus
Hallo
Für den folgenden Code musst du nur den Bereich mit den "r" -werten selektieren.

Code: Alles auswählen

Sub hintergrundfarbe
with thisComponent.currentselection().rangeaddress
oTab = thiscomponent.sheets(.sheet) 'sel. Tabelle
icol = .startcolumn 
for i = .startrow to .endrow

	r = oTab.getcellbyPosition(icol,i).value
	g = oTab.getcellbyPosition(icol + 1, i ).value
	b = oTab.getcellbyPosition(icol + 2 , i ).value
	if r + g + b = 0 then
		oTab.getcellbyPosition(icol + 3 , i ).cellbackcolor = -1
	else
		oTab.getcellbyPosition(icol + 3 , i ).cellbackcolor = RGB(r,g,b)
	end if
next i
end with

End Sub

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Verfasst: Mo, 25.05.2009 08:06
von Animal21
cool dankeschön