VBA中的多个条件格式变量

时间:2017-03-22 14:33:35

标签: excel vba excel-vba excel-formula conditional-formatting

这是我目前得到的:

'Highlight If N=19 & R=OR
Range("G4:R1000").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$N4=19"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 255
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = True

我试图根据多个标准突出显示一些单元格。如果N = 19且R = OR。我只能得到N = 19的部分。

1 个答案:

答案 0 :(得分:1)

我相信我在上面的评论中做出的公式调整应该可以解决您的问题,但这是我如何清理录制的条件格式代码。

With Worksheets("Sheet1")
    With .Range("G4:R1000")
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=AND($N4=19, $R4=""OR"")")
            With .Interior
                .PatternColorIndex = xlAutomatic
                .Color = 255
                .TintAndShade = 0
            End With
            .SetFirstPriority
        End With
        .FormatConditions(1).StopIfTrue = True
    End With
End With

删除详细的限定代码(例如Selection.FormatConditions(Selection.FormatConditions.Count)...)会使其更具可读性。