Excel VBA FormatCondiitons多个条件

我是vba的新手,我很困惑如何根据多个条件来设置范围。 例如,我想要突出显示列(a:g)中的单元格,只要它们的值小于0,并且列H中它们各自行中的值包含string“是”或“否”。 我写的代码执行此function不起作用,但看起来像这样。

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 

任何人都可以指出我正确的方向吗? 谢谢!

试试看,

 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")