Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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
RGB Farbcode auslesen
16.07.2020 12:38:36
MarWin_115
Hallo,
ich möchte den RGB-Farbindex einer Zelle in Excel ermitteln.
Dazu habe ich folgenden VBA Code in ein Modul meiner Arbeitsmappe geschrieben:
Function RGB_Hintergrundfarbe(Farbe As Range)
Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
Wert = Farbe.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
RGB_Hintergrundfarbe = Rot & „, “ & Grün & „, “ & Blau
End Function

Anschließend habe ich die Funktion in eine leere Zelle eingefügt und als Funktionsargument eine Zelle mit Hintergrundfarbe gewählt.
Daraufhin bringt er einen Fehler beim Kompilieren (Syntaxfehler).
Was mach ich verkehrt?

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

Betreff
Datum
Anwender
Anzeige
AW: RGB Farbcode auslesen
16.07.2020 12:42:06
Zwenn
Hallo Marwin,
ich habe Deinen Code nicht getestet. Aber Du musst der Funktion auch einen Ruckgabetyp spendieren ;-)
Function RGB_Hintergrundfarbe(Farbe As Range) As String
Viele Grüße,
Zwenn
AW: RGB Farbcode auslesen
16.07.2020 12:48:07
Zwenn
Ok,
geht auch ohne Rückgabetyp. Du hast für die Minus in den Wert Berechnungen und die Anführungsstriche in der Zeile für den Rückgabewert falsche Zeichenverwendet:

Function RGB_Hintergrundfarbe(Farbe As Range) As String
Dim Rot As Long
Dim Grün As Long
Dim Blau As Long
Dim Wert As Long
Wert = Farbe.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
RGB_Hintergrundfarbe = Rot & ", " & Grün & ", " & Blau
End Function
Viele Grüße,
Zwenn

Anzeige
Er wird statt des VBE ein Textprogramm ...
16.07.2020 12:54:22
Luc:?
…benutzt haben, Zwenn,
was ein (tödlicher) Fehler ist. Denn, falls das komfortabel ist, wandelt es An-/Ausführungszeichen normgerecht um und aus Minus zwischen Leerzeichen wird Bindestrich.
Luc :-?
AW: Nein, Zwenn, genau das muss man idR nicht!
16.07.2020 13:28:55
Zwenn
Hallo Luc,
dass es ohne Rückgabetyp geht wußte ich vorher gar nicht. Hatte es ausprobiert und es ging. Danke für die Erklärung mit Variant. Hätte ich auch selbst drauf kommen können. Ist schließlich sowas wie eine Variable ohne Angabe eines expliziten Datentyps.
Viele Grüße,
Zwenn
AW: RGB Farbcode auslesen
16.07.2020 12:49:59
fcs
Hallo MarWin,
du hast in deinem Code Zeichen, die da nicht hingehören, woher auch immer: Die ANführungszeichen sind falsch und das Minuszeichen ist kein normaler Bindestrich/Minuszeichen.
LG
Franz
Code sollte im VBA-Editor so aussehen:
Function RGB_Hintergrundfarbe(Farbe As Range)
Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
Wert = Farbe.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
RGB_Hintergrundfarbe = Rot & ", " & Grün & ", " & Blau
End Function

Anzeige
AW: RGB Farbcode auslesen
16.07.2020 13:23:38
MarWin_115
Hallo Franz,
sowas hatte ich mir schon gedacht, hatte die Formel nur kopiert.
Danke für die Korrektur!
LG MarWin_115

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige