我已经知道可以在将规则添加到单元格的“条件格式规则”时手动完成:但是,我希望在单元格上写入十六进制值时所有16,000,000种十六进制值颜色会自动显示,因此“手动”添加这16,000,000个HEX值听起来太大了!是否没有办法让所有16,000,000种颜色的阴影自动找到并根据单元格中的十六进制值将背景色应用于单元格?
换句话说,当我在单元格中输入0000ff时,我试图获得蓝色背景,然后我希望当单元格的HEX值更改时,背景变为相应的颜色=>当输入ff0000时,BGC变为红色。 ,则00ff00时为绿色,ffffff ...时为白色...等(可能有16,000,000种)。
将十六进制转换为RGB的Worksheet_Change事件宏应该可以轻松完成此操作。工作表的HEX2DEC函数应该能够处理转换。
右键单击工作表的名称标签,然后选择查看代码。当VBE打开时,将以下内容粘贴到标题为Book1-Sheet1(代码)的代码表中。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo bm_Safe_Exit
Application.EnableEvents = False
Dim rng As Range, clr As String
For Each rng In Target
If Len(rng.Value2) = 6 Then
clr = rng.Value2
rng.Interior.Color = _
RGB(Application.Hex2Dec(Left(clr, 2)), _
Application.Hex2Dec(Mid(clr, 3, 2)), _
Application.Hex2Dec(Right(clr, 2)))
End If
Next rng
bm_Safe_Exit:
Application.EnableEvents = True
End Sub
点击Alt+Q返回到您的工作表。在单元格中键入任何6个字符的十六进制代码以提供背景色。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句