tstringgrid 单元格区域获取_VBA小技巧03:获取颜色的十六进制代码

学习Excel技术,关注微信公众号:

excelperfect

有时候,我们需要某些颜色对应的十六进制代码,可能是需要设计网站,也可能是需要开发Web应用。

在Excel中,我们可以通过“填充颜色——更多颜色”在单元格中插入各种各样的背景色,如下图1所示。

6ecadb236608ba3320c24c00ad87901a.png

图1

然而,这些自定义的颜色只有GRB值,如果想要其相应的十六进制代码,其实可以使用VBA来获取。如下图2所示,选取带有背景色的单元格区域,运行代码,则会在相应背景色单元格右侧相邻单元格中输入对应颜色的十六进制代码。

4788cf109a09185e42569493d3733c65.png

图2

代码如下:

'确定颜色的十六进制代码

Sub ColorHexCode()

    '变量声明

    Dim rng As Range

    Dim strHexCode As String

    '确保选择了单元格区域

    If TypeName(Selection) <>"Range" Then Exit Sub

    '遍历所选区域的每个单元格

    For Each rng In Selection.Cells

        '确保单元格中填充有背景色

        If rng.Interior.ColorIndex <>xlNone Then

            '获取十六进制值

            strHexCode = Right("000000" & Hex(rng.Interior.Color), 6)

            '反转十六进制值

            strHexCode = Right(strHexCode, 2)& Mid(strHexCode, 3, 2) & Left(strHexCode, 2)

            '添加#号并将值显示在相邻的右侧单元格

            rng.Offset(0, 1).Value ="#" & strHexCode

        End If

    Next rng

    '只选择活动单元格

    ActiveCell.Select

End Sub

上述代码的图片版如下:

f5a7ef6d6267a1ceb0f663902aa07594.png

6803e276f6be77e4554238f8d4bb44bf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值