Как условно отформатировать диапазон на основе значений 3 столбцов - PullRequest
0 голосов
/ 21 мая 2019

Прежде всего, я прошу прощения за отсутствие терминов и плохое знание предмета.Я пытался собрать фрагменты кода, но не повезло.Проблема заключается в следующем, и я был бы очень признателен, если бы вы могли дать мне несколько советов.

У меня есть 3 столбца (AB и C) с некоторыми значениями.Затем у меня есть 2 столбца D и E, которые мне нужны в условном формате на основе значений AB и C.Условия следующие:

D-> Если D1 находится между A1 + B1 и A1 + C1, то D1 остается черным цветом, иначе D1 отображается красным цветом

E-> Если E1между B1 и C1, затем E1 остается черным цветом. Остальное E1 отображается красным цветом

Затем процесс повторяется для D2, D3 и т. д. То же самое относится к E.

Будут разные листы стот же код, и я, вероятно, добавлю несколько строк к некоторым из них, что может повлиять на определение диапазона в AB и C. Кроме того, для каждого дня я буду добавлять два набора столбцов (например, первый деньЯ добавлю D и E, затем F и G и т. Д.).Могу ли я сделать двойной цикл кода в столбце D для нечетных чисел?и для четных чисел, касающихся столбца E?

Это мои основные вопросы.

1 Ответ

1 голос
/ 21 мая 2019
  • Выберите столбец D (весь столбец)
  • Добавьте новое правило условного форматирования с приведенной ниже формулой и отформатируйте его красным

    =NOT(AND($D1>$A1,$D1<$B1,$D1<$C1))
    
  • Выберите столбец E (весь столбец)

  • Добавьте новое правило условного форматирования с приведенной ниже формулой и отформатируйте его красным

    =NOT(AND($E1>$B1,$E1<$C1))
    

Примечание«между» означает, что границы (в столбцах A, B, C) исключены, если вы хотите включить их, вам нужно изменить > на >= и < на <=.

enter image description here

Вы также можете добавить условное форматирование с помощью VBA:

With ThisWorkbook.Worksheets("Sheet1").Columns("D").FormatConditions.Add(Type:=xlExpression, Formula1:="=NOT(AND($D1>$A1,$D1<$B1,$D1<$C1))")
    .Font.Color = -16776961
    .Font.TintAndShade = 0
End With

Но учтите, что формула в Formula1 должна быть локализована.Это означает, что если вы планируете запустить его в неанглийском Excel, тогда эту формулу необходимо преобразовать в локализованную неанглийскую формулу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...