根据电子表格单元格中的值自动填充颜色

根据电子表格单元格中的值自动填充颜色

问题 :是否可以使用灰度值与单元格值相同的颜色填充电子表格中的每个单元格?

解释 :

假设我有一个如下的电子表格:

在此处输入图片描述

所有值都在 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

相关内容