My program automatically highlights (fills color) of the excel cells based on inputs. I recorded Excel Macro to find the color code I want (integer value of the color; i.e. 16777215 for white), and I noticed that yellow is 65535 and cyan is 16776960 although in real life these two values should be reversed (yellow is 16776960 or ffff00 in RGB, and cyan is 65535 or 00ffff in RGB)
Could someone explain this behaviour please?
Probably here is the answer: Why are Excel RGB values backwards?
I have had the same problem some time ago, thus I have built something like this:
Option Explicit 'RGB2HTMLColor html htmlcolor 'INPUT: Numeric (Base 10) Values for R, G, and B) 'OUTPUT: 'String to be used for color of element in VBA. 'E.G -> if the color is like this:-> &H80000005& 'we should change just the last 6 positions to get our color! H80 must stay. Public Function RGB2HTMLColor(B As Byte, G As Byte, R As Byte) As String Dim HexR As Variant, HexB As Variant, HexG As Variant Dim sTemp As String On Error GoTo ErrorHandler 'R HexR = Hex(R) If Len(HexR) < 2 Then HexR = "0" & HexR 'Get Green Hex HexG = Hex(G) If Len(HexG) < 2 Then HexG = "0" & HexG HexB = Hex(B) If Len(HexB) < 2 Then HexB = "0" & HexB RGB2HTMLColor = HexR & HexG & HexB Debug.Print "Enter RGB, without caring for the real colors, the function knows what it is doing." Debug.Print "IF 50D092 then &H0050D092&" Exit Function ErrorHandler: Debug.Print "RGB2HTMLColor was not successful" End Function