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