【问题标题】:How to apply conditional formatting to multiple columns based on each columns own values如何根据每列自己的值将条件格式应用于多列
【发布时间】:2021-11-01 16:16:08
【问题描述】:

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

我想为每一列使用红-白-绿色标格式。 我有近 250 列,但是当我选择多个列时,它们会根据我选择的所有值进行着色。我只想根据该列的值对每一列进行着色。

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

我想这样做:

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

【问题讨论】:

  • 您需要为每列设置单独的规则。可以使用 VBA 应用。

标签: excel formatting conditional-formatting


【解决方案1】:

我按照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 行更改范围(首先是左上角单元格然后是右下角单元格)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 2013-07-25
    • 2023-01-17
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    相关资源
    最近更新 更多