RGB Code ermitteln
#1
Moin, moin,
ich möchte Kreise (Ellipse1, Ellipse2, Ellipse3) mit Farben versehen.
Von Kuwer habe ich folgenden Vorschlag bekommen:

ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = RGB(0, 0, 235)

Wobei RGB(0, 0, 235) für Blau steht.
Ich benötige aber andere Farben (schwarz, rot, grün und gelb)
Nun habe ich mir eine Farmindex Liste erstellt:

Sub Farben()
    Dim i As Integer
    Dim z As Integer
    Dim s As Integer
    s = 1
    z = 2
    For i = 1 To 25
        ActiveSheet.Cells(i, 1) = i
        ActiveSheet.Cells(i, 2).Interior.ColorIndex = i
    Next i
End Sub


Das hat auch funktioniert.
Wähle ich nun in eine Zelle mit der gewünschten Farbe (z.B. Gelb) und lasse mir über eine
MsgBox

Sub GetColor()
    MsgBox "index: " & ActiveCell.Interior.ColorIndex & ", " & _
            "Nummer: " & ActiveCell.Interior.Color   
End Sub


den RGB Wert ausgeben, erhalte ich die Meldung: Index 6, Nummer 65535.
Diesen Wert akzeptiert Excel aber nicht und ich weiß nun nicht weiter und
hoffe auf eure Hilfe.
Mir würde es schon genügen, wenn ich den RGB Code für Schwarz, Rot, Grün und Gelb
bekommen würde.
Mein System ist Windows 11, Office 2021
LG
Wilfried
Antworten Top
#2
Hi,

ich häng Dir mal ne Datei dazu an. Mit den Schiebereglern kannst Du die Farben selbst mischen. Zusätzlich kannst Du R,G,B auch manuell eingeben.
Add-On: Die Schriftfarbe (weiß oder schwarz) optimiert sich automatisch anhand der Hintergrundfarbe.

Nachtrag: Ich hab in der Datei den Farbcode benutzt, der sich aus RGB errechnet:
=Rot+Grün*256+Blau*256^2

Man kann natürlich auch RGB nutzen:

Range("Farbe").Interior.Color = RGB([Rot], [Grün], [Blau])

Rot, Grün und Blau sind benannte Zellen in der Datei.


Angehängte Dateien
.xlsm   RGB_selbst_mischen.xlsm (Größe: 33,19 KB / Downloads: 9)
Antworten Top
#3
Hallo Wilfried,

da bist du ein Stück weit auf dem Holzweg. Der Colorindex ist ein Relikt aus alten Excelzeiten, wo Excel nur 56 Farben gleichzeitig darstellen konnte. Wobei der Index gar nicht für eine bestimmte Farbe stand. Die Farbnummer 65535 ist der Wert, der tatsächlich für gelb steht. Mit der Zeile Cells(1, 1).Interior.Color = 65535 kannst du die Zelle A1 gelb färben. Das wäre auch der aktuell gültige Weg. Schwarz hätte zum Beispiel den Wert 0 und rot den Wert 255. Etwas mehr dazu findest du hier: https://excelwelt.eu/Excelallg/farb2010.html
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#4
Diesen Wert akzeptiert Excel aber nicht ?
WIE hast du es denn versucht?
Etwa mit RGB?
Cells(1,1).Interior.Color=65535
muss es lauten und weder
Cells(1,1).Interior.ColorIndex=65535
noch irgendwas mit RGB.
Die Funktion RGB errechnet nur aus den Werten für Rot, Grün und Blau den Long-Wert , der gebraucht wird.
Antworten Top
#5
Code:
Sub M_snb()
  For Each it In Array(vbBlack, vbBlue, vbRed, vbYellow)
    Cells(1).Interior.Color = it
    Stop
  Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallo,

der Color-Code ist das Produkt der einzelnen RGB-Werte, zurückrechnen geht so:

Code:
Sub RGB_Code()
Dim Clr As Long, rd As Integer, gr As Integer, bl As Integer

Range("A1").Interior.Color = RGB(155, 155, 155)
Debug.Print Range("A1").Interior.Color

    Clr = Range("A1").Interior.Color
    rd = Clr \ 65536
    bl = Clr Mod 256
    gr = (Clr / 256) Mod 256
    Debug.Print Clr, rd, gr, bl

End Sub

mfg
Antworten Top
#7
Es gibt ein 'Pattern'

Code:
Sub RGB_Code()
  With Cells(1).Interior
    .Color = RGB(120, 50, 210)
    Debug.Print .Color

    Debug.Print Join(Array((.Color Mod 256 ^ 3) \ 256 ^ 2, (.Color Mod 256 ^ 2) \ 256 ^ 1, (.Color Mod 256 ^ 1) \ 256 ^ 0), vbLf)
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Hallo,

im einfachsten Fall markierst du das Shape und kannst dann über "Füllefekte->weitere Füllfarben" einen Dialog öffnen, in dem du dann für deine gewünschte Farbe die RGB-Werte auslesen kannst.

Alternativ kannst du dieses Online-Tool verwenden:
https://informatik.schule.de/rgb/RGB_farbmischer.html

Gruß
Knobbi38
Antworten Top
#9
Hallo ihr fleißigen Helfer,
zunächst meinen herzlichen Dank für all eure Tipps.
Mir ist aufgefallen, dass in euren Tipps immer von einer Zellenfärbung gesprochen wird (oder habe ich etwas übersehen?).
Das trifft auf mein Problem aber nicht zu.
Ich möchte ein Objekt (in meinem Fall die Objekte Ellipse1, Ellipse1 und Ellipse3) mit den Farben schwarz, grün, gelb oder grün einfärben.
Es muß nicht RGB sein, wenn es eine andere Lösung gibt, bin ich für eine Lösung dankbar.

Mein System: Windows11, Office2021

LG
Wilfried
Antworten Top
#10
Makrorecorder benützen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste