Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

Zellfarbe RGB-Wert

Zellfarbe RGB-Wert
Stef@n
Hallo Excel-Freunde,
ich habe eine Datei, in der verschiedene Zellen mit Farben gefüllt.
z.B. Grün, hellgrün, grün der Hell
das gleiche für Blau usw.
Ich brauche die RGB-Werte für die einzelnen Zellen !
Wie kann ich mir diese Werte anzeigen lassen ?
Freu mich auf einen Tip
Gruß
Stef@n
AW: Zellfarbe RGB-Wert
24.02.2011 11:13:36
Christian
Hallo Stefan,
zb. mit einem kleinen Makro à la:
Option Explicit
Sub GetColor()
Dim rng As Range
Dim c&, r&, g&, b&
For Each rng In Sheets("Tabelle1").Range("B5:B9")
c = rng.Interior.Color
r = c Mod &H100
c = c \ &H100
g = c Mod &H100
c = c \ &H100
b = c Mod &H100
Debug.Print r; g; b
Next
End Sub
Gruß
Christian
AW: Zellfarbe RGB-Wert
24.02.2011 11:34:39
Stef@n
Hallo Christian,
vielen Dank für den schnellen Tip ! Klappt ja perfekt !
Mit Debug.print schreibt er mir im vb direktbereich die Wert untereinander
jedoch wie ? In welcher Reihenfolge ?
Das ist mein Code
Option Explicit
Sub GetColor()
Dim rng As Range
Dim c&, r&, g&, b&
For Each rng In Sheets("Tabelle1").Range("a2:f6")
c = rng.Interior.Color
r = c Mod &H100
c = c \ &H100
g = c Mod &H100
c = c \ &H100
b = c Mod &H100
Debug.Print r; g; b
Next
End Sub
Das das Ergebnis aus dem Direktbereich
0 0 0
153 51 0
51 51 0
0 51 0
0 51 102
0 0 128
128 0 0
255 102 0
128 128 0
0 51 0
0 128 128
0 0 255
255 0 0
255 153 0
153 204 0
0 51 0
51 204 204
51 102 255
255 0 255
255 204 0
255 255 0
0 51 0
0 255 255
0 204 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
Kann man diese Werte vielleicht besser in die Datei
resp die einzelnen Zellen schreiben
also in die Zellen a2:f6 ?
Freu mich nochmal auf einen Tip
Gruß
Stef@n
Anzeige
AW: Zellfarbe RGB-Wert
24.02.2011 11:39:38
Klaus
Hi Stefan,
statt
Debug.Print r; g; b
schreibe
rng.Value = r & " " & g & " " & b
Damit überschreibst du aber eventuell vorhandenen alten Zelleninhalt. Aus deiner Frage interpretiere ich, dass dies gewollt ist.
Grüße,
Klaus M.vdT.
AW: Zellfarbe RGB-Wert - mit Datei
24.02.2011 11:45:19
Stef@n
Hallo Klaus
danke für den Tip !
Funktioniert mit dem "Reinschreiben" und darf auch ruhig so sein.
Habe jetzt mal die Datei hochgeladen zwecks Test
https://www.herber.de/bbs/user/73709.xls
Die RGB-Werte stimmt ganz sicher nicht überein :O
Gruß
Stef@n
Anzeige
AW: Zellfarbe RGB-Wert - mit Datei
24.02.2011 11:49:18
Hajo_Zi
Hallo Stefan,
Option Explicit
Sub RGBAnzeige()
'   auf Grundlage von einem Code von Nepumuk
Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
' ****** Ergänzung Hajo
Dim i As Integer
For i = 1 To 56
'       Farbe in Spalte A
Cells(i, 1).Interior.ColorIndex = i
Wert = Cells(i, 1).Interior.Color
On Error Resume Next
Rot = Wert Mod 256
Wert = (Wert - Rot) / 256
Grün = Wert Mod 256
Wert = (Wert - Grün) / 256
Blau = Wert Mod 256
'        MsgBox Rot & ", " & Grün & ", " & Blau
' ***** Ergänzung Hajo
Cells(i, 3) = Rot
Cells(i, 4) = Grün
Cells(i, 5) = Blau
Next i
'***** Ergänzung Hajo
Cells(57, 3) = "Rot"
Cells(57, 4) = "Grün"
Cells(57, 5) = "Blau"
Cells(58, 3) = "RGB Farbwerte"
End Sub

Anzeige
AW: Zellfarbe RGB-Wert - mit Datei
24.02.2011 11:54:35
Stef@n
Hallo Hajo
Dank für den Tip !
Der Code färbt mir alle 56 möglichen Farben in Spalte A und den dazugehörigen RGB-Wert
in die Spalten C:E
Kann ich sicher auch gebrauchen .
Nur soll mir der Code die Zell-Farben von a2:F5 auslesen
Das macht dein Code leider nicht :
Noch nen Tip ?
Gruß
Stef@n
AW: Zellfarbe RGB-Wert - mit Datei
24.02.2011 11:56:22
Hajo_Zi
Hallo Stefan,
das ist bestimmt nur eine kleine anpassung, nur wo sollen die Werte hin. Ich baue das nicht nach.

AW: Zellfarbe RGB-Wert - mit Datei
24.02.2011 11:58:33
Stef@n
Hallo Hajo
die Werte sollen direkt in die jeweiligen farbigen Zellen a2:f5 geschrieben werden.
Dank dir trotzdem für deine Hilfe / deinen Tip
Besten Gruß
Stef@n
Anzeige
AW: Zellfarbe RGB-Wert
24.02.2011 11:40:29
Stef@n
Ergänzung:
ich habe z.B. getestet und den code nur ausgeführt für die zelle a2
Dort ist die Zellfarbe in Orange
der code schreibt mir jedoch
0 0 0
Das ist doch Schwarz ?
Noch ne Idee ?
Gruß
Stef@n
nicht nachvollziehbar
24.02.2011 12:13:16
Klaus
Hi Stefan,
dass muss ein KC-Interface Fehler sein.
Bei mir wird aus schwarz 0 0 0 und aus Orange 255 102 0.
Datei hängt an:
https://www.herber.de/bbs/user/73710.xls
Ins Blaue:
falsche Tabelle aktiviert?
Code (mal nur für A2) falsch umgeschrieben?
Grüße,
Klaus M.vdT.
AW: nicht nachvollziehbar
24.02.2011 14:57:48
Stef@n
Hallo Klaus,
ich vermute, es liegt daran, dasss meine Datei eine benuterdefinierte Farbpalette ist.
Und ich kann das Makro dort nicht ausführen - er nimmt dann immer die Standardfarben
Wenn also in der Standard farbpalette die rechte obere Farbe "Schwarz" ist,
in meiner benutzerdefinierten Farbpalette das rechte obere Feld "Orange" ist,
dass schreibt der Code den "Standardwert" - nämlich 0 0 0 hinein.
Schade, dass es so nicht funktioniert.
Ich habe auch den Weg probiert, meine Standardfarbpalette durch meine zu ersetzten,
was auch in der Ansicht funktioniert. Aber der Code nimmt trotzdem die excel-Eigene
Standard-Farbpalatte als Hintergrund.
Schade, aber es ist wohl so
Gruß
Stef@n
Anzeige
AW: nicht nachvollziehbar
24.02.2011 17:24:20
Stef@n
Hallo Nepumuk
ja, ich schau mir den langen Thread mal an !
Dank Dir für den Tip :)
Gruß
Stef@n
AW: Zellfarbe RGB-Wert
24.02.2011 16:30:53
Rudi
Hallo,
die modifizierten RGB-Werte bekommst du so:
Sub GetColor()
Dim rng As Range
Dim c&, r&, g&, b&
For Each rng In Sheets("Tabelle1").Range("B5:B9")
c = ActiveWorkbook.Colors(rng.Interior.ColorIndex)
r = c Mod &H100
c = c \ &H100
g = c Mod &H100
c = c \ &H100
b = c Mod &H100
Debug.Print r; g; b
Next
End Sub

Gruß
Rudi
Anzeige
AW: Zellfarbe RGB-Wert
24.02.2011 17:12:09
Christian
Hallo Stefan, ich nochmal
wenn ich deine Bsp-Datei zugrunde lege:
https://www.herber.de/bbs/user/73709.xls
wird unter XL2003 die Farbe in der ersten Zelle (A2) tatsächlich als 0,0,0 erkannt. Unter XL2010 ist's korrekt "255, 204, 51".
kleiner Trick - frag mich nicht warum - füge in Zeile2 eine leere Zeile ein und lass den Bereich von A2 bis F6 laufen.
Bsp (nach dem eleganteren Weg von Nepumuk):
Sub GetRGB()
Dim rng As Range
Dim c&, r&, g&, b&
For Each rng In Sheets("Tabelle1").Range("A2:F6")
c = rng.Interior.Color
r = c And vbRed
g = (c And vbGreen) \ &H100
b = (c And vbBlue) \ &H10000
rng.Value = r & " " & g & " " & b
rng.Offset(6).Interior.Color = RGB(r, g, b)    'Kontrolle-Zellen einfärben
Next
End Sub

läuft bei mir unter XL2003 korrekt.
Gruß
Christian
Anzeige
AW: Zellfarbe RGB-Wert - perfekt !
24.02.2011 17:27:37
Stef@n
Hallo Rudi, hallo Christian
Dank sehr für die Tips
funktioniert ja jetzt perfekt !
Danke und besten Gruß
Stef@n
vergiss es...
24.02.2011 17:30:45
Christian
... geht doch nicht.
ich hatte deine Datei zunächst in XL2010 geöffnet und dann auf den anderen Rechner mit XL2003 rübergeschoben. Da hat das wie oben beschrieben funktioniert.
Aber deine Original-Datei direkt unter XL2003 geöffnet liefert falsche Werte.
keine weitere Idee
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige