Динамическое условное форматирование - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь найти решение для динамического условного форматирования.

Когда диапазон имеет ячейку 'FALSE', выделите значение на 4 столбца вперед.

Пример = G4 = 'FALSE '-> форматировать ячейку C4.

Однако я не могу указать столбцы, так как не знаю, в каком столбце будет ячейка «ЛОЖЬ».

Но есть базовый формат.Например, весь диапазон представляет собой шаблон из 7 столбцов.Во 2-м столбце диапазона будет выделено значение, а в 6-м столбце будет True / False.

Существует ли способ проверить каждый 6-й столбец на наличие ячейки FALSE и выделить значение на 4 столбца впереди.

Есть предложения?

Ниже приведен пример того, какмой Excel выглядит как

Спасибо, xoxo

1 Ответ

0 голосов
/ 03 октября 2018

Вы хотите обновить его при вводе значений?если это так, то вы могли бы использовать событие Worksheet_Change, оно немного грубое, но сработало бы.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value = "False" Then
        With Target.Offset(0, -3).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5287936
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End If
End Sub

Нужно больше подробностей, чтобы помочь вам в дальнейшем, если вы хотите что-то, что вы можете запустить по мере необходимости, тогда онодолжно быть довольно просто для вас преобразовать это в подпрограмму, а не в событие, просто опросить использованные данные.

Исходя из ваших комментариев, что-то вроде этого будет делать то, что вы хотите:

Sub Temp()
Dim X As Long
For X = 1 To Range("E" & Rows.Count).End(xlUp).Row
    If Range("E" & X).Value = "False" Then
        With Range("E" & X).Offset(0, -3).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5287936
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End If
Next
End Sub

Измените "E" в обоих случаях Range, если хотите, чтобы он опрашивал другой столбец.

...