Как установить цвет фона ячеек Excel с помощью VBA?

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

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

13.12.2008 11:39:08
5 ОТВЕТОВ
РЕШЕНИЕ

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

ActiveCell.Interior.ColorIndex = 28

или

ActiveCell.Interior.Color = RGB(255,0,0)
49
23.12.2008 08:57:06
В первом примере, как узнать, на какой цвет указывает ColorIndex?
awe 7.12.2011 09:59:02
@awe - цвета и цифры здесь: msdn.microsoft.com/en-us/library/cc296089(v=office.12).aspx
grahamesd 4.02.2016 20:53:07

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

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

0
30.12.2008 12:34:43

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

13
18.04.2012 02:34:41

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

-3
22.03.2015 18:08:56

Сделайте быстрый «макрос записи», чтобы увидеть номер цвета, связанный с нужным цветом (выделение желтым цветом - 65535). Затем сотри код и поставь

Sub Name()
Selection.Interior.Color = 65535 '(your number may be different depending on the above)
End Sub
0
4.03.2020 15:07:19
Возможно, объясните, почему и как числовой литерал может заменить конструкцию RGB (,,), а также, возможно, выразить литерал в шестнадцатеричном формате, Selection.Interior.Color = &H00FFFFгде каждая пара шестнадцатеричных цифр определяет соответственно значение красного, зеленого и синего в диапазоне &H00до &HFF.
Léa Gris 4.03.2020 15:42:40