首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >VBA小技巧03:获取颜色的十六进制代码

VBA小技巧03:获取颜色的十六进制代码

作者头像
fanjy
发布于 2019-09-24 17:53:04
发布于 2019-09-24 17:53:04
3.2K0
举报
文章被收录于专栏:完美Excel完美Excel

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

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

图1

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

图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

上述代码的图片版如下:
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档