如何根据每列自己的值将条件格式应用于多列
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 行的范围(先是左上单元格,然后是右下单元格)。
我有一个如下所示的数据:
我想对每列使用红-白-绿色阶格式。 我有将近 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 行的范围(先是左上单元格,然后是右下单元格)。