Excel VBA循环每行的条件格式

我正试图有条件地格式化每一行循环跳过每一行。 它通过使用单元格AD8中的色阶标准来格式化范围B8:Y8。 下一个循环应该使用AD10格式化B10:Y10,然后使用AD12格式化B12:Y12等等,直到98行。这里是循环内部的格式化代码:

Range("B8:Y8").Select Selection.FormatConditions.AddColorScale ColorScaleType:=2 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueNumber Selection.FormatConditions(1).ColorScaleCriteria(1).Value = 0 With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValueNumber Selection.FormatConditions(1).ColorScaleCriteria(2).Value = "=$AD$8" With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor .ThemeColor = xlThemeColorAccent2 .TintAndShade = 0 End With 

为B8:Y92创build条件格式规则可能是有利的,然后从奇数行中删除CFR。

 Dim r As Long With ActiveSheet With .Range("B8:Y92") .FormatConditions.Delete .FormatConditions.AddColorScale ColorScaleType:=2 .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority .FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueNumber .FormatConditions(1).ColorScaleCriteria(1).Value = 0 With .FormatConditions(1).ColorScaleCriteria(1).FormatColor .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With .FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValueNumber .FormatConditions(1).ColorScaleCriteria(2).Value = "=$AD$8" With .FormatConditions(1).ColorScaleCriteria(2).FormatColor .ThemeColor = xlThemeColorAccent2 .TintAndShade = 0 End With End With For r = 9 To 91 Step 2 .Range("B" & r & ":Y" & r).FormatConditions.Delete Next r End With 

请参阅如何避免在Excel VBAmacros中使用select 。