多个条件的FormatConditions

问题描述 投票:0回答:2

我想根据多个条件格式化范围。

例如,如果列 (a:g) 中的值小于 0 并且 H 列中相应行中的值包含字符串“yes”或“no”,则突出显示列中的单元格。

Columns("A:G").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(OR($H1 = ""YES"", $H1 = ""NO""),Columns(A,G) < 0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
 
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 120000
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
vba excel conditional-formatting multiple-conditions
2个回答
1
投票

尝试一下,

With Worksheets("sheet2").Columns("A:G")
    .FormatConditions.Delete
    With .FormatConditions.Add(Type:=xlExpression, _
      Formula1:="=AND(OR($H1=""yes"", $H1=""no""), $G1<0, $A1<0)")
        .Interior.Color = 120000
        .StopIfTrue = False
    End With
End With

重读你原来的叙述后,我相信这可能是一个更好的公式。

Formula1:="=AND(OR($H1=""yes"", $H1=""no""), A1<0")

0
投票

公式有问题,至少“位置错误,我无法让它工作 期待指令结束 我发现了其他更适合 AND 条件的东西 通过乘以条件并与 1 进行比较

例如:Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=((F3<$B3) * ($B3<51) * (F3<> 0))=1"

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.