首页 > 解决方案 > 动态条件格式

问题描述

我正在尝试寻找动态条件格式的解决方案。

对于当范围具有“FALSE”单元格时,突出显示前面 4 列的值。

示例 =G4='FALSE' --> 格式化 C4 单元格。

但是,我无法指定列,因为我不知道哪一列将包含“FALSE”单元格。

但是有一个基线格式。例如,整个范围是 7 列的模式。范围的第 2 列将突出显示值,范围的第 6 列将具有 True/False。

有没有办法检查每 6 列的 FALSE 单元格并突出显示前面的值 4 列。

有什么建议么?

下面是我的 excel 的样例

谢谢xoxo

标签: excelexcel-formulaconditional-formatting

解决方案


您是否希望它在输入值时更新?如果是这样,那么您可以使用 Worksheet_Change 事件,它有点粗糙但可以工作。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value = "False" Then
        With Target.Offset(0, -3).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5287936
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End If
End Sub

需要更多详细信息来进一步帮助您,如果您想要一些可以根据需要运行的东西,那么将其转换为子例程而不是事件应该是相当简单的,只需轮询使用的数据。

根据您的评论,这样的事情会做您想要的:

Sub Temp()
Dim X As Long
For X = 1 To Range("E" & Rows.Count).End(xlUp).Row
    If Range("E" & X).Value = "False" Then
        With Range("E" & X).Offset(0, -3).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5287936
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End If
Next
End Sub

如果您希望它轮询另一列,请更改"E"这两个实例。Range


推荐阅读