问题 :是否可以使用灰度值与单元格值相同的颜色填充电子表格中的每个单元格?
解释 :
假设我有一个如下的电子表格:
所有值都在 0-255 之间(对应 256 种灰度颜色)。现在我想用颜色填充每个单元格,其值是单元格中的值。因此预期输出如下:
另外,请注意每个单元格中的字体颜色都是黑色或白色,与背景颜色相对应。
Excel 中是否有任何简单的方法可以通过几个步骤或一次性完成此操作?
答案1
创建一个遍历单元格的宏,读取单元格中的值并将其分配给颜色,如下所示:
Range("A1:A6").Interior.Color = RGB(200,160,35)
答案2
TheUser1024 是对的,我投他一票。
这是一个可立即使用的解决方案:
Public Sub Demo()
Dim cel As Range
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
cel.Interior.Color = RGB(cel.Value, cel.Value, cel.Value)
If cel.Value > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub
编辑:
如果出现字符串或负值,此代码不会中断......
Public Sub Demo()
Dim cel As Range
Dim greytone As Long
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
greytone = CLng(Abs(Val(cel.Value)))
cel.Interior.Color = RGB(greytone, greytone, greytone)
If greytone > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub