Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farben in RGB umrechnen

Farben in RGB umrechnen
12.05.2008 12:52:00
Jochen
Hi,
ich verwende aus dem Archiv folgenden Code.

Sub RGB_Farbe()
Dim Farbe As Long, R As Integer, G As Integer, B As Integer
Farbe = ActiveCell.Interior.Color
R = Farbe And 255
G = (Farbe \ 256) And 255
B = Farbe \ 65536
MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
End Sub


Ich möchte ihn aber auch verstehen, diese beiden zeilen sind mir unklar, was
bewirkt denn dieses And?
R = Farbe And 255
G = (Farbe \ 256) And 255
Danke schon mal und schönen tage allerseits.
mfg Jochen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farben in RGB umrechnen
12.05.2008 14:13:00
Nepumuk
Hallo Jochen,
esrt mal zum Verständnis RGB = Rotwert*1 + Grünwert*256 + Blauwert*65536
das ist ein ganz einfacher Bitvergleich. Beispiel:
RGB(255, 255, 255) ergibt den Long-Wert 16.777.215
als Bit's geschrieben
111111 111111 111111
255 als Bit's geschrieben
111111
Also:
111111 111111 111111 And 000000 000000 111111 (Die Vornullen nur zur Verdeutlichung)
0 And 1 = 0
.
.
.
das ganze 12 mal dann kommt:
1 And 1 = 1
.
.
.
das ganze 6 mal
Ergebnis = 000000 000000 111111 also 255
Der Rotwert von 16.777.215 ist also 255
Der Operator \ gibt das ganzzahlige Ergebnis einer Division zurück. Damit schneiden wir praktisch den Rotanteil aus der Gesamtfarbe raus. Also:
16.777.215 \ 256 = 65.535 oder als Byte wieder
111111 111111 den Rest kennst du ja schon.
Gruß
Nepumuk

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 15:01:07
Reinhard
Hallo Nepumuk,
weshalb wird denn hier R=51 , G=204 ,B=204 angezeigt, ich komme nicht dahinter.
Alles als Long zu definieren bringt auch nichts :-(

Option Explicit
Sub RGB_Farbe()
Dim Farbe As Long, R As Integer, G As Integer, B As Integer
ActiveCell.Interior.Color = RGB(80, 150, 220)
Farbe = ActiveCell.Interior.Color
R = Farbe And 255
G = (Farbe \ 256) And 255
B = Farbe \ 65536
MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
End Sub


Danke ^ Gruß
Reinhard

AW: Farben in RGB umrechnen
12.05.2008 15:10:00
Nepumuk
Hallo Reinhard,
weil Excel nur 56 Farben verwaltet und in dem Fall die nächstliegende Farbe benutzt. Schau mal im Fülldialog welche Farbe aktiv ist, dann Extras - Optionen - Farben - diese Farbe markieren - Ändern - Benutzerdefiniert. Da siehst du die eingestellten RGB-Werte.
Gruß
Nepumuk

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 18:50:34
Reinhard
Hallo Nepumuk,
falls ich schief liege dann melde dich bitte nochmal, ansonsten ist das nich nötig wenn ich das jetzt richtig sehe.
Ich kann einer Zelle über "Color" direkt keinen RGB Wert zuweisen, Excel nimmt dann irgendeinen passenden Wert aus den 56 Farben und ignoriert meine RGB Wünsche.
Ich kann ihr aber über .Interior.Corlorindex eine Zahl zwischen (0)1-56 zuweisen.
Wenn ich der Zelle den Colorindex 17 zuweise und dann dem Colorindex 17 eine andere RGB-Variante zuweise, dann klappst?
Danke ^ Gruß
Reinhard

AW: Farben in RGB umrechnen
12.05.2008 18:59:40
Nepumuk
Hallo Reinhard,
ja. Du musst dabei aber bedenken, dass dann jede Zelle, Schrift und Diagrammfüllung in der Mappe die mit diesem ColorIndex formatiert wurde, die neue Farbe bekommen.
Gruß
Nepumuk

Anzeige
Danke, du bist der Beste! oT
12.05.2008 16:00:00
Jochen
oT

AW: Farben in RGB umrechnen
12.05.2008 14:19:38
hary
Hallo Jochen
Bei R muesste es sein Aktuelle Farbe und 255. Wobei 255 fuer Rot steht. Schaetze damit ergibt sich das mischungsverhaeltniss der drei Grundfarben. Hier ist eine Seite da wird erklaert.
www.webmaster-resource.de/tutorials/css/css-tutorial-07.php
aber es gibt bestimmt im Forum der das erklaeren kann.
Gruss Hary

71 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige