Excel VBAmacros的颜色代码

我的程序根据input自动突出显示(填充颜色)excel单元格。 我loggingExcelmacros来find我想要的颜色代码(颜色的整数值,即16777215为白色),我注意到黄色是65535和青色是16776960,但在现实生活中这两个值应该颠倒(黄色是16776960或RGB中的ffff00,RGB中的青色为65535或00ffff)

有人可以解释这种行为吗?

谢谢

可能这里是答案: 为什么Excel的RGB值倒退?

前段时间我也有同样的问题,所以我build立了这样的一个东西:

 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. 'EG -> 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