动态条件格式

时间:2018-10-03 02:39:49

标签: excel excel-formula conditional-formatting

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

对于该范围具有“ FALSE”单元格的情况,请突出显示前面四列的值。

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

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

但是有基线格式。例如。整个范围是由7列组成的模式。范围的第二列将突出显示该值,范围的第六列将具有True / False。

是否可以检查FALSE单元格的第6列并突出显示前面4列的值。

有什么建议吗?

Below is a sample of how my excel looks like

谢谢xoxo

1 个答案:

答案 0 :(得分:0)

是否要在输入值时进行更新?如果是这样,则可以使用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