根据该行中其他单元格(有条件格式化)的颜色更改1个单元格的颜色

时间:2017-10-16 22:48:54

标签: excel vba excel-vba spreadsheet

我正在创建一个电子表格,我的表中有列,从其他工作表的数据执行验证检查(列C到Y)(使用条件格式),如果有效,则单元格变为绿色,如果无效,单元格变为红色。

如果同一行但C到Y列中的任何单元格都用红色阴影,我希望B列为红色。

如果它们都是绿色的,我希望B列中的单元格为绿色

是否可以使用条件执行此操作或者我是否需要创建一个宏,如果有的话,是否有任何关于如何接近它的指针?

希望我所描述的有意义,将很乐意详述

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

您可以使用基于函数的CF规则来应用着色。例如:如果rng中有任何单元格带有红色填充作为CF规则的结果(使用每个单元格的DisplayFormat属性),则返回True

Function AnyRed(rng As Range)
    Dim c As Range, rv As Boolean
    For Each c In rng.Cells
        If c.DisplayFormat.Interior.Color = 255 Then
            rv = True
            Exit For
        End If
    Next c
    AnyRed = rv
End Function

在“主”单元格中应用默认的绿色填充,然后使用公式应用CF规则,并在公式返回True时应用红色填充。