Visual Basic Excel字体颜色

我想确定当前单元格的颜色。 当我

Debug.Print ActiveCell.Font.Color 

我回来了一个号码。 在这种情况下,24832
我如何确定这个颜色的正确的RGB值,因为我只有这个数字?
是否有一些函数将一个int变成RGB(0,0,0)?

没有内置的VBA转换为RGB,您将需要编写自己的。

尝试这个

 Function ColorToRgb(Color As Variant) As Variant ' return #Value Error for invalid colors If Color < 0 Or Color > 16777215 Then ColorToRgb = CVErr(xlErrValue) End If ReDim Res(1 To 3) As Variant ' Treating Color as a 24 bit number Res(1) = Color Mod 256 ' Red value: left most 8 bits Res(2) = Color \ 256 Mod 256 ' Green value: middle 8 bits Res(3) = Color \ 65536 Mod 256 ' Blue value: right most 8 bits ColorToRgb = Res End Function 

这是RGB组件的快速位掩码:

 Function RGBComp(Clr As Variant) As Variant If Clr >= 0 Or Clr <= 16777215 Then RGBComp = Array(Clr And &HFF, (Clr And &HFF00&) \ &H100&, (Clr And &HFF0000) \ &H10000) Else RGBComp = CVErr(xlErrValue) End If End Function