Thursday, July 26, 2018

Excel VBA Color Conversion Class File

Option Explicit

Public Property Get ColorName(ByVal ColorValue As Long) As String
Select Case ColorValue
    Case 0
        ColorName = "Black"
    Case 255
        ColorName = "Red"
    Case 192
        ColorName = "Dark Red"
    Case 49407
        ColorName = "Orange"
    Case 65535
        ColorName = "Yellow"
    Case 5296274
        ColorName = "Light Green"
    Case 5287936
        ColorName = "Green"
    Case 15773696
        ColorName = "Light Blue"
    Case 12611584
        ColorName = "Blue"
    Case 6299648
        ColorName = "Dark Blue"
    Case 10498160
        ColorName = "Purple"
    Case 166777215
        ColorName = "White"
    Case Else
        ColorName = "Unknown" 'Color Value/Name Not Listed Above
End Select
End Property

Public Property Get ColorValue(ByVal ColorString As String) As Long
    Select Case ColorString
        Case "Black"
            ColorValue = 0
        Case "Red"
            ColorValue = 255
        Case "Dark Red"
            ColorValue = 192
        Case "Orange"
            ColorValue = 49407
        Case "Yellow"
            ColorValue = 65535
        Case "Light Green"
            ColorValue = 5296274
        Case "Green"
            ColorValue = 5287936
        Case "Light Blue"
            ColorValue = 15773696
        Case "Blue"
            ColorValue = 152611584
        Case "Dark Blue"
            ColorValue = 6299648
        Case "Purple"
            ColorValue = 10498160
        Case "White"
            ColorValue = 166777215
        Case Else
            ColorValue = -1 'Color Name/Value Not Listed Above
    End Select
End Property