Условное форматирование для каждой отдельной строки - PullRequest
0 голосов
/ 28 ноября 2018

Я работаю с листом Excel с номерами в несколько рядов прямо друг под другом.Я хочу условно отформатировать каждую строку, чтобы все значения в этой строке были ниже значения в столбце A и выше значения в столбце B той же строки.Например, в строке 20 все значения ниже значения A20 отмечены желтым, а все значения выше B20 отмечены красным.В строке 21 все значения ниже A21 и B21 ...

Я создал цикл по строкам 20-22, пока диапазон будет меняться в более поздних приложениях.Цикл теперь всегда ссылается на A20 и B20 вместо того, чтобы ссылаться на значения, которые я хотел бы использовать для каждой строки (например, A21 и B21 для строки 21).Я пытался использовать 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
...