Convert color values to RGB
2005-03-01 Other 0 182
With the procedure below you can convert a color value to its separate RGB counterparts:
Sub Color2RGB(lngColor As Long, intR As Integer, intG As Integer, intB As Integer) ' converts a color to its RGB counterparts intR = lngColor And 255 intG = lngColor \ 256 And 255 intB = lngColor \ 256 ^ 2 And 255 End Sub ' example: Color2RGB ActiveCell.Interior.Color, intRed, intGreen, intBlueThe function below can be used to convert a color value to a 6 character HTML color code:
Function Color2HTMLRGB(lngColor As Long, Optional blnIncludeGrid As Boolean = True) As String Dim intR As Integer, intG As Integer, intB As Integer Dim r As String, g As String, b As String, strResult As String intR = lngColor And 255 intG = lngColor \ 256 And 255 intB = lngColor \ 256 ^ 2 And 255 r = Hex(intR) g = Hex(intG) b = Hex(intB) If Len(r) < 2 Then r = "0" & r If Len(g) < 2 Then g = "0" & g If Len(b) < 2 Then b = "0" & b strResult = UCase(r & g & b) If blnIncludeGrid Then strResult = "#" & strResult End If Color2HTMLRGB = strResult End Function ' examples: strColorCode = Color2HTMLRGB(Range("A1").Interior.Color) strColorCode = Color2HTMLRGB(Range("A1").Font.Color)