2

我是vba的新手,我很困惑如何格式化基於多個條件的範圍。例如,我想僅在列(a:g)的值小於0的情況下突出顯示列中的單元格,並且列H中它們各自行中的值包含字符串「是」或「否」。我編寫的代碼執行此功能不起作用,但看起來像這樣。Excel VBA FormatCondiitons多個條件

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 

任何人都可以指向正確的方向嗎?謝謝!

+0

@lebelinoz - 這實際上是**被清理了觸摸本質上記錄的代碼。我已經把它降到了最低。 – Jeeped

回答

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

剛剛發佈該固定公式:)。 G:0 –

+0

感謝您關注我Scott!你永遠不知道我什麼時候開始加入蘇格蘭威士忌咖啡。 – Jeeped

+2

或者可能是蘇格蘭威士忌的咖啡! –