使用VBA获取单元格背景色中红色、绿色和蓝色的数值

2022-11-16 12:54:56 浏览数 (1)

标签:VBA

我们可以使用VBA代码来获取单元格背景色中的RGB值,如下图1所示。

图1

列B、C、D中的单元格值就是列A中相应单元格背景色的RGB值。

下面是将单元格背景色拆分成RGB数字表现形式的自定义函数:

代码语言:javascript复制
Function Red(rng) As Long
    Dim c As Long
    Dim r As Long
    c = rng.Interior.Color
    r = c Mod 256
    Red = r
End Function
Function Green(rng) As Long
    Dim c As Long
    Dim g As Long
    c = rng.Interior.Color
    g = c  256 Mod 256
    Green = g
End Function
Function Blue(rng) As Long
    Dim c As Long
    Dim b As Long
    c = rng.Interior.Color
    b = c  65536 Mod 256
    Blue = b
End Function

这样,如上图1所示,在单元格B2中输入:

=Red(A2)

在单元格C2中输入:

=Green(A2)

在单元格D2中输入:

=Blue(A2)

就会得到单元格A2的背景色相应的RGB值。

如果在其他应用中我们要选择背景色,但却不知道其RGB值,那么就可以先在Excel单元格中设置想要的背景色,然后使用这几个函数获取其RGB值,这样就可以应用到其他程序中了。

vba

0 人点赞