2014-02-21 3 views
0

Мне нужно изменить цвет ячейки в строке B, если значение введено в соответствующую ячейку в строке A. Я сделал это, используя формулу в условном форматированииУсловное форматирование с использованием кода Excel VBT

=OR(COUNTA($H3:$AG3)>5,COUNTA($H3:$AG27)>5* COUNTA($N3:$N27)) applies to -=$N$3:$O$27 Как это сделать в коде VBT для этого. Заранее спасибо.

ответ

0

Вы можете использовать цикл while для прохождения каждой строки или столбца, тогда как есть значения.

Вы можете использовать Font.Color для установки значения RGB (например, 255, 0, 0 для красного) для шрифта.

Вы можете использовать Interior.Color для установки значения RGB (например, 0, 0, 255 для синего) для фона ячейки.

Ниже приведен пример использования их для цикла по строкам, изменяя цвет текста в столбце B на зеленый, если значение в столбце А 1.

Do While Len(Range("A1").Offset(counter, 0).Value) > 0 

    If Range("A1").Offset(counter, 0).Value = 1 Then 
     Range("B1").Offset(counter, 0).Interior.Color = RGB(0, 255, 0) 
    End If 
    counter = counter + 1 

Loop 

Надеюсь, вы можете использовать это базис для ваших нужд. Если вы хотите пропустить столбцы, а не столбцы, например, просто измените способ использования Offset, поэтому переменная-счетчик является вторым аргументом, например. Offset (0, counter)

+0

это изменяет значение ячейки в B до зеленого цвета, мне нужна вся ячейка для изменения цвета. – samnaction

+0

Отредактированный ответ, чтобы включить Interior, это изменяет фон. – Neil

+0

Я изменил его как 'If Range (« A1 »). Смещение (счетчик, 0) .Value = TRUE Затем Диапазон (« B1 »). Смещение (счетчик, 0) .Interior.Color = RGB (0, 255, 0) ' – samnaction

Смежные вопросы