Grüezi Jo
Jo schrieb am 12.05.2005
Post by JoPost by Thomas RamelSoviel zum Farben-Konzept von Excel.
vielen Dank für den Hinweis am Rande!
Aber gerne doch, den soooooo randständig ist das Konzept ja nicht ;-)
Post by JoHab ich gleich mal ausprobiert, ist mit dem Colors-Objekt und der RGB
Methode ja ziemlich einfach. Insofern haben ja auch selbstredende
Standard-Farb-Konstanten wenig Sinn, wie ich sie mir vorstellte.
Ja, genau - Du kannst dich nicht darauf verlassen, dass dies in anderen
Mappen genauso definiert ist....
Post by JoGibt es zur RGB Methode, die einen Long-Wert zurückgibt, auch eine
Umkehrfunktion, die z.B. aus einem ausgelesenen Long-Wert eines
Farbindex die RGB-Werte extrahieren kann? Hab ich nicht gefunden.
Ich habe mit 'RGB long' als Suchbegriff und '*.de.excel' als Newsgroup hier
gesucht:
http://groups.google.com/advanced_group_search
und bin dann bereits an zweiter Stelle auf den folgenden Thread gestossen:
http://groups.google.com/groups?hl=de&threadm=u0tkmt4ugm0vuvql2dl483tghlatfna0j3%404ax.com
Bedenke aber auch hier, dass Du nur die 56 Werte der *Farbpalette* in
dieser Weise per RGB festlegen kannst.
Tust Du dies für die einzelne Zelle, so wird die dem RGB-Wert am nächsten
liegende Farbe der Farbpalette dargestellt - Excel legt dies nach eigenen
Regeln fest.
Aus der Sub von Frank habe ich eine Function kreiert, die Du gleich im
Tabellenblatt verwenden kannst und die drei Anteile wiedergibt.
Aktiviere in der Zelle, welche die Formel enthält, den Zeilenumbruch, dann
ist die Darstellung auch einigermassen sauber.
Function RGBFarben(rngZelle As Range) As String
Dim lngFarbe As Long
lngFarbe = rngZelle(1).Interior.Color
RGBFarben = "R: " & (lngFarbe And RGB(255, 0, 0)) & Chr(10) & _
"G: " & (lngFarbe And RGB(0, 255, 0)) / 256& & Chr(10) & _
"B: " & (lngFarbe And RGB(0, 0, 255)) / (256& ^ 2)
End Function
Post by JoMan kann ja sicher auch selbst mit dem Long jonglieren, wenn man
wüsste, wie er sich zusammensetzt (oder was die RGB-Methode tut)...
Aufgrund der Berechnung von Frank scheint der Long-Wert in einzelne
Bereiche aufgeteilt zu sein, die jeweils einen Farbanteil von RGB
aufnehmen.
Die weiteren Fundstellen der Google-Suche oben führen zu einigen Beiträgen
von Michael Schwimmer, der ähnliches über API und Hex-Berechnungen des
Long-Wertes vornimmt.
Zu den tieferen Hintergründen könnte ev. die folgende Seite hilfreich sein.
Es dreht sich hier zwar um Word, doch ich könnte mir vorstellen, dass
dieselben 'Gesetzmässigkeiten' auch in Excel gelten:
http://mypage.bluewin.ch/reprobst/WordFAQ/Farben.htm#Farben03
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]