每行的条件格式

时间:2018-11-28 10:49:19

标签: excel vba loops formatting conditional

我正在使用一张Excel工作表,该工作表的数字彼此之间紧挨着几行。我想有条件地格式化每一行,以便标记出该行的所有值,该值低于同一行的A列中的值和B列中的值。例如。在第20行中,所有低于A20的值都标记为黄色,所有高于B20​​的值都标记为红色。在第21行中,A21和B21以下的所有值...

我现在在20-22行之间创建了一个循环,该范围在以后的应用程序中会有所不同。循环现在总是回头引用A20和B20,而不是引用我想为每行使用的值(例如,第21行的A21和B21)。我尝试使用Ai和Bi,但这没有用。这是我需要主要帮助的地方-我可以使用哪种语法而不是A20和B20来引用我想要的单元格?

此外,有没有办法用真彩色标记条件格式的单元格?例如,有条件的黄色充满黄色?目前,我正在手动选择条件格式化的单元格并添加填充。

谢谢您的帮助!

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 20 To 22

Rows(i).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
    Formula1:="=$B$20"

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
    .Color = -16383844
    .TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 13551615
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
    Formula1:="=$A$20"


Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
    .Color = -16383844
    .TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 13551615
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

Next i


End Sub

0 个答案:

没有答案