Anzeigen von RGB-Farben in einer Zelle (Microsoft Excel)
Dennis möchte drei Zellen (A1: A3) mit RGB-Werten füllen und eine andere Zelle (C1) die Farbe basierend auf diesen Werten anzeigen lassen. Er fragt sich, ob es einen einfachen Weg gibt, dies zu tun.
Der einfachste Weg, dies zu tun, besteht darin, ein Makro zu verwenden, das die Werte in A1: A3 erfasst und dann die Farbe der Zelle C1 basierend auf diesen Werten ändert.
Im Idealfall sollte das Makro überprüfen, ob die Werte in den Quellzellen im Bereich von 0 bis 255 liegen. Das folgende Makro eignet sich hervorragend für diesen Zweck:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A3")) Is Nothing Then lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End If End Sub
Beachten Sie, dass dieses Makro dem Code für das Arbeitsblatt hinzugefügt werden sollte, auf dem die Zellen vorhanden sind. (Klicken Sie einfach mit der rechten Maustaste auf die Registerkarte „Blatt“, wählen Sie „Code anzeigen“ und fügen Sie dort das Makro hinzu.) Es handelt sich um eine Ereignisbehandlungsroutine, die bei jeder Änderung in Zelle A1, A2 oder A3 automatisch ausgeführt wird.
Es wird sichergestellt, dass die Werte in diesen Zellen zwischen 0 und 255 liegen, indem der Absolutwert des Zellinhalts verwendet und der Rest (Modulo)
verwendet wird durch 256 zu teilen.
Das Makro funktioniert nur, wenn Sie einen Wert im Bereich von A1: A3 (Ihre RGB-Werte) manuell ändern. Wenn die Werte in diesem Bereich das Ergebnis von Formeln sind, funktioniert dies nicht ordnungsgemäß, da Sie die Zellen nicht manuell ändern. In diesem Fall sollten Sie diese einfachere Änderung des Makros verwenden:
Private Sub Worksheet_Change(ByVal Target As Range) lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End Sub
Diese Version aktualisiert die Farbe jedes Mal, wenn etwas im Arbeitsblatt geändert wird, unabhängig davon, wo die Änderung erfolgt.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (9092) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: