如何根据每列自己的值将条件格式应用于多列

How to apply conditional formatting to multiple columns based on each columns own values

我有一个如下所示的数据:

我想对每列使用红-白-绿色阶格式。 我有将近 250 列,但是当我 select 多列时,它们会根据我 select 编辑的所有值进行着色。我只想根据每一列的值为每一列着色。

这是一个示例,显示当我 select 多个列时发生的情况:

这是我想要的方式:

如何根据每列自身的值将规则应用于所有列?

我听从了BigBen的建议,得出了以下代码:

Sub test()
For Each Column In Range("B2:IA36").Columns
  Dim MyRange As Range
  Column.Select
  Selection.FormatConditions.Delete
  Selection.FormatConditions.AddColorScale ColorScaleType:=3
  Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
        xlConditionValueLowestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 8109667 'Color of lowest. Can be replaced with RGB(r, g, b).
    End With
    
    Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
        xlConditionValuePercentile
    Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    
    With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = RGB(255, 255, 255) 'Color of middle value
    End With
    
    Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
        xlConditionValueHighestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 7039480 'Color of highest. Can be replaced with RGB(r, g, b)
    End With
Next
End Sub

我从 here 获得了大部分代码。我只添加了 for 循环部分来遍历列。要将其应用到您自己的数据中,您只需更改第 2 行的范围(先是左上单元格,然后是右下单元格)。