2008-12-13 5 views
14

Как часть программы VBA, я должен установить цвета фона определенных ячеек зеленым, желтым или красным цветом в зависимости от их значений (в основном, монитор здоровья, где зеленый цвет в порядке, желтый - пограничный, а красный - опасный).Как установить цвет фона ячеек Excel с помощью VBA?

Я знаю, как установить значения этих ячеек, но как установить цвет фона.

ответ

37

Вы можете использовать:

ActiveCell.Interior.ColorIndex = 28 

или

ActiveCell.Interior.Color = RGB(255,0,0) 
+5

В первом примере, как вы знаете, на какой цвет указывает ColorIndex? – awe 2011-12-07 09:59:02

1

или же вы не могли беспокоить кодирования для него и использовать функцию «условное форматирование» в Excel, который будет устанавливать цвет фона и цвет шрифта на основе значения ячейки.

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

10

Это прекрасный пример того, где вы должны использовать макрорекордер. Включите рекордер и установите цвет ячеек через пользовательский интерфейс. Остановите рекордер и просмотрите макрос. Он будет генерировать кучу постороннего кода, но он также покажет вам синтаксис, который работает на то, что вы пытаетесь выполнить. Разделите то, что вам не нужно, и измените (если вам нужно), что осталось.

-2

Это не работает, если вы используете функцию, но работает, если вы Sub. Однако вы не можете вызвать sub из ячейки, используя формулу.

-2

Для colorindex я иду на http://dmcritchie.mvps.org/excel/colors.htm. Когда я записал раскраску ячейки в Excel 2011, все, что я получил, было то, что ячейка была выбрана. Обратите внимание, что Excel 2011 и 2010 не имеют одинаковой таблицы colorindex. См. Мою страницу http://uhaweb.hartford.edu/ltownsend/excel.html#colorindex для сравнения.

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