Excel 中的单元格颜色如何设置为其包含的十六进制 RGB 值?

Excel 中的单元格颜色如何设置为其包含的十六进制 RGB 值?

我见过很多关于如何设置单元格颜色的问题和答案(以及搜索引擎结果)根据它的值(使用条件格式),但没有答案显示如何设置单元格颜色其值。例如,如果单元格的值为 #FFFFFF,则该单元格的颜色为黑色。

答案1

这不是 Excel 的原生功能。您需要 VBA 来构建它。

从概念上讲,将单元格内容分成组成代码的三个十六进制数字。

将每个十六进制数转换为十进制数,并在 RGB() 函数中使用这三个数字来设置单元格填充。

在此处输入图片描述

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range("A1"), Target) Is Nothing Then
    varRed = WorksheetFunction.Hex2Dec(Mid(Range("A1"), 2, 2))
    varGreen = WorksheetFunction.Hex2Dec(Mid(Range("A1"), 4, 2))
    varBlue = WorksheetFunction.Hex2Dec(Mid(Range("A1"), 6, 2))

    
    With Target.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = RGB(varRed, varGreen, varBlue)
        .PatternTintAndShade = 0
    End With
    
    
End If


End Sub

相关内容