Neil verwendet in seinen Arbeitsblättern häufig Farben. Er weiß, dass er eine Farbe basierend auf einem numerischen RGB-Wert erzeugen kann (wie in anderen Problemen mit ExcelTips erläutert). Neil möchte das Gegenteil tun – einen RGB-Wert bestimmen. Er fragt sich, ob es eine Möglichkeit gibt, (über Funktion oder Makro) zurückzukehren

Der RGB-Wert der Farbe, mit der eine Zelle gefüllt wird. (Neil möchte, dass die tatsächliche Farbe auf die Zelle angewendet wird und keine „Überschreibungs“ -Farbe, wie sie beispielsweise durch ein bedingtes Format vorgegeben wird.)

Excel enthält hierfür keine Funktion. Wenn Sie jedoch nur die RGB-Werte für eine einzelne Zelle überprüfen müssen, gehen Sie am einfachsten wie folgt vor:

  1. Wählen Sie die Zelle aus, die mit der Farbe formatiert ist, die Sie überprüfen möchten.

  2. Zeigen Sie die Registerkarte Home des Menübands an.

  3. Klicken Sie in der Gruppe Schriftart auf den Abwärtspfeil rechts neben dem Füllfarben-Werkzeug. Excel zeigt eine kleine Farbpalette und einige andere Optionen an.

  4. Wählen Sie Weitere Farben. Excel zeigt das Dialogfeld Farben an.

  5. Stellen Sie sicher, dass die Registerkarte Benutzerdefiniert angezeigt wird. (Siehe Abbildung 1.)

  6. Am unteren Rand des Dialogfelds sehen Sie die einzelnen Werte für die roten, grünen und blauen Komponenten der Farbe in der Zelle.

  7. Klicken Sie auf OK, wenn Sie fertig sind.

Wenn Sie die Werte häufiger abrufen müssen, ist die Erstellung einer eigenen benutzerdefinierten Funktion der richtige Weg. Die von Ihnen verwendete Funktion hängt davon ab, was Sie tatsächlich zu Ihrem Arbeitsblatt zurückkehren möchten. Wenn Sie beispielsweise den traditionellen sechsstelligen Hex-Code für RGB-Farben zurückgeben möchten, verwenden Sie das folgende sehr einfache Makro:

Function getRGB1(rcell) As String     Dim sColor As String

sColor = Right("000000" & Hex(rcell.Interior.Color), 6)

getRGB1 = Right(sColor, 2) & Mid(sColor, 3, 2) & Left(sColor, 2)

End Function

Dieses Makro überprüft die Innenfarbe für jede Zelle, auf die Sie verweisen, setzt die Hex-Werte für die Farbe in die richtige Reihenfolge und gibt die Zeichenfolge an Excel zurück. Um die Funktion zu verwenden, rufen Sie sie einfach in Ihrem Arbeitsblatt mit einer Zelle auf, auf die auf diese Weise verwiesen wird:

=getRGB1(B4)

Möglicherweise möchten Sie jedoch nicht die herkömmlichen Hex-Codes für die RGB-Farben.

Wenn Sie die Dezimalwerte für jede der Farben erhalten möchten, gibt das folgende Makro Folgendes zurück:

Function getRGB2(rcell) As String     Dim C As Long     Dim R As Long     Dim G As Long     Dim B As Long

C = rcell.Interior.Color     R = C Mod 256     G = C \ 256 Mod 256     B = C \ 65536 Mod 256     getRGB2 = "R=" & R & ", G=" & G & ", B=" & B End Function

Diese Version wird auf dieselbe Weise wie das getRGB1-Makro aufgerufen und gibt eine Zeichenfolge wie „R = 255, G = 204, B = 0“ zurück. Sie können das Makro auch noch weiter ändern, sodass es einen einzelnen Wert zurückgibt, basierend auf einem von Ihnen festgelegten Parameter:

Function getRGB3(rcell As Range, Optional opt As Integer) As Long     Dim C As Long     Dim R As Long     Dim G As Long     Dim B As Long

C = rcell.Interior.Color     R = C Mod 256     G = C \ 256 Mod 256     B = C \ 65536 Mod 256

If opt = 1 Then         getRGB3 = R     ElseIf opt = 2 Then         getRGB3 = G     ElseIf opt = 3 Then         getRGB3 = B     Else         getRGB3 = C     End If End Function

Um das Makro zu verwenden, fügen Sie der in Ihrem Arbeitsblatt verwendeten Funktion einfach einen zweiten Parameter hinzu und geben Sie an, was Sie möchten:

=getRGB3(B4,1)

Wenn der zweite Parameter 1 ist, gibt die Funktion nur den roten Wert zurück. Wenn Sie einen zweiten Parameter von 2 angeben, wird der grüne Wert zurückgegeben, und 3 gibt den blauen Wert zurück. Jeder andere Wert für den zweiten Parameter (oder wenn Sie ihn vollständig weglassen) gibt den vollständigen Dezimalwert der Innenfarbe zurück.

Wenn Sie kein Makro erstellen möchten oder Farben in mehr als nur Ihrem Excel-Arbeitsblatt bestimmen möchten, sollten Sie ein Dienstprogramm eines Drittanbieters in Betracht ziehen. Eine, die interessant aussieht, ist Instant Eyedropper, die kostenlos ist. Weitere Informationen dazu finden Sie hier:

http://instant-eyedropper.com

_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 (10180) 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: