VBA Excel. Цвет ячейки (заливка, фон)
Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).
Заливка ячейки цветом в VBA Excel
Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.
Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:
Вывод сообщений о числовых значениях цветов
Числовые значения цветов запомнить невозможно, поэтому часто возникает вопрос о том, как узнать числовое значение фона ячейки. Следующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.
Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.
Использование предопределенных констант
В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:
Предопределенная константа | Наименование цвета |
---|---|
vbBlack | Черный |
vbBlue | Голубой |
vbCyan | Бирюзовый |
vbGreen | Зеленый |
vbMagenta | Пурпурный |
vbRed | Красный |
vbWhite | Белый |
vbYellow | Желтый |
xlNone | Нет заливки |
Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:
Цветовая модель RGB
Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 — это черный цвет, если все значения равны 255 — это белый цвет.
Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:
Чтобы можно было присвоить ячейке или диапазону цвет с помощью значений RGB, их необходимо перевести в десятичное число, обозначающее цвет. Для этого существует функция VBA Excel, которая так и называется — RGB.
Список стандартных цветов с RGB-кодами смотрите в статье: HTML. Коды и названия цветов.
Очистка ячейки (диапазона) от заливки
Для очистки ячейки (диапазона) от заливки используется константа xlNone :
МТ. (С+) —> =ЕСЛИ(И(G5066=»МТ. (С+)»;N5066=»»);»Истина»;»Ложь») и т.д всего 8 правил для каждого конкретного случая.
И применил их всех для столбца N:N
4 способа быстро и легко сравнить большие таблицы
Привет, Иван!
Посчитать ячейки с одинаковым фоном можно с помощью цикла.
Для реализации этого примера сначала выбираем в таблице ячейку с нужным цветом заливки. Затем запускаем код, который определяет цветовой индекс фона активной ячейки, диапазон таблицы вокруг нее и общее количество ячеек с такой заливкой в таблице.
Предопределенная константа | Наименование цвета |
---|---|
vbBlack | Черный |
vbBlue | Голубой |
vbCyan | Бирюзовый |
vbGreen | Зеленый |
vbMagenta | Пурпурный |
vbRed | Красный |
vbWhite | Белый |
vbYellow | Желтый |
xlNone | Нет заливки |
Способ № 2: сравнить в Excel
Самый распространенный метод: выгружаете первоначальный вариант отчета и тот же отчет с поправками в формате .xls и сверяете их в Microsoft Excel, пользуясь доступными формулами.
1. Выделяем пустую ячейку. В ней будет отображаться результат функции.
2. В верхней панели кликаем на ярлык формулы .
3. В предложенном списке выбираем функцию «ЕСЛИ», нажимаем «ОК».
4. Задаем условие в поле «Лог-выражение». На скрине-примере условие следующее: если значение ячейки по колонке «Конечный остаток» левой таблицы равен значению ячейки по колонке «Конечный остаток» справа.
5. В поле «Значение_если_истина» указываем, какой вывод нужно вывести, если значения равны.
6. В поле «Значение_если_ложь» обозначаем, какой вывод нужно вывести, если значения различны.
В таблице автоматически отобразился результат по выделенной строке. Чтобы вывести итоги по другим строкам, наведите мышку на правый нижний угол первой ячейки с формулой, захватите и протяните по колонке вниз до конца таблиц.
Способ занимает много времени, особенно если сводка состоит из тысячи строк. Его удобно использовать, работая с небольшим объемом данных.
В маленьких файлах вы можете суммировать значения ячеек в колонках и тем самым выходить на строки с различиями.
Если хотите быстро найти нужные ячейки, не вчитываясь в каждую строку и не напрягая зрение, воспользуйтесь функционалом «Условное форматирование».
Плюсы:
гибкая система функций, условий. Можно самостоятельно прописать практически любые условия по сравнению, выделению, форматированию данных.
Минусы:
иногда потребуется не один час, чтобы подстроить таблицу для шаблонной формулы;
при сверке объемных документов, даже с использованием формул, легко не заметить нужную ячейку и допустить ошибки по невнимательности.
VBA Excel. Цвет ячейки (заливка, фон)
Диапазоны для градиента могут заполняться автоматически (числовой ряд будет делиться на 5 равных отрезков). Возможно, чуть изменю цвета и добавлю еще несколько вариантов градиента, а также добавлю возможность выбирать пользовательские цвета из палитры.
Как в Эксель сравнить два столбца на совпадения с помощью команды форматирование
Рассмотренным ранее способом не всегда удобно пользоваться. Применяя его нельзя использовать рабочее пространство. Поэтому предлагаю рассмотреть альтернативный способ, который предполагает использование условного форматирования.
- В результате нашему вниманию предстанет диалоговое окно, в котором собраны все шаблоны. Для решения нам нужно будет кликнуть по последней строке в списке.
- Эта команда дает возможность сравнить информацию, занесенную в строки двух столбцов.
- Работы строятся на следующем принципе. Если значение соответствует «Истине», то эта ячейка будет отформатирована. Правила форматирования задаются с помощью нажатия на кнопку «Формат». Тут нам предлагается настроить шрифт и цвет ячейки.
Примите к сведению. Когда необходимо сделать так, чтобы отличия выделялись, воспользуйтесь функциями «Шрифт» и «Изменить цвет текста». Однако следите за собой, чтобы не нажать Enter. В противном случае выделение будет сброшено.
Как в Эксель сравнить два столбца на совпадения: легко
- Результатом вышеперечисленных действий будет открытие нового диалогового окна, в котором нужно поставить галочку напротив пункта «Отличия по строкам».
- Подтверждаем свое решение кликом по кнопке «Ок».
До появления Excel 2007 существовала только ограниченная палитра для заливки ячеек фоном, состоявшая из 56 цветов, которая сохранилась и в настоящее время. Каждому цвету в этой палитре присвоен индекс от 1 до 56. Присвоить цвет ячейке по индексу или вывести сообщение о нем можно с помощью свойства .Interior.ColorIndex: