![](/img/trans.png)
[英]Excel conditional formatting - highlight cell if two conditions are met
[英]Conditional formatting 2 conditions met
試圖通過 VBA 代碼運行條件格式(由於值每天都在變化,還有一個代碼要清理,刪除我所做的條件格式,非 VBA)。
想要突出顯示 P 列上數值 > 0 和 O4 > 0 的值。
Sheets("RAW DATA FILE").Cells("A1").Select
Sheets("RAW DATA FILE").Columns("A:A").EntireColumn.AutoFit
Sheets("RAW DATA FILE").Range("P4").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(ISNUMBER($P4), $P4>0, $O4>0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
第一行觸發錯誤:
運行時錯誤“5”
無效的過程調用或參數
您的第一行會出現問題,應該是 Range 而不是 Cells:
Sub Conditional_formatting_2_conditions_met()
Sheets("RAW DATA FILE").Activate
Sheets("RAW DATA FILE").Range("A1").Select
Sheets("RAW DATA FILE").Columns("A:A").EntireColumn.AutoFit
Sheets("RAW DATA FILE").Range("$P:$P").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(ISNUMBER($P1), $P1>0, $O1>0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
如果您需要更新更多單元格,您可以使用循環遍歷范圍內的所有單元格。 您在 With.Range("P1:P10") 行定義范圍
Sub Conditional_formatting_2_conditions_met()
Dim lRow As Long
Dim cel As Range
With Sheets("RAW DATA FILE")
.Columns("A:A").EntireColumn.AutoFit
With .Range("P1:P10")
For Each cel In .Cells
With cel
lRow = lRow + 1
With .FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(ISNUMBER($P" & CStr(lRow) & "), $P" & CStr(lRow) & ">0, $O" & CStr(lRow) & ">0)")
.SetFirstPriority
.StopIfTrue = False
With .Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With
End With
End With
Next cel
End With
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.