коды цветов для excel
Цвета Excel
Сегодня я хочу немного поговорить об использовании цветов в программах Excel и Calc. Для улучшения восприятия и повышения эстетичности информации ячейки листа Excel и Calc можно залить цветом из настроенной палитры. Цвет знаков, цифр и букв также можно выбрать.
. любым. Кнопки «Цвет заливки» и «Цвет шрифта» панели инструментов «Форматирование» позволяют без труда выполнить вышеуказанные действия по управлению цветом. Для удобства в последующей работе я часто использую светло-бирюзовую заливку для ячеек с данными, а светло-желтую — для ячеек с формулами, то есть результатами расчетов.
Так как действия по заливке ячейки цветом и изменение цвета шрифта к «дизайнерским» вряд ли можно отнести, то основным требованием к палитре цветов, по-моему, является четкая, легкая и однозначная дифференциация.
Ячейки с заливкой одним цветом должны быть «хорошо узнаваемы» даже на значительном расстоянии друг от друга. Заливка не должна затенять запись в ячейке. Цвета ячеек должны легко различаться и не путаться. Цвета шрифтов — тоже!
Цвета, имеющие стандартизованные названия в CSS, меня не устроили тем, что их всего шестнадцать и слишком высокой насыщенностью для использования при заливке ячеек.
Основных цветов с уникальными названиями в русском языке и того меньше — не то — семь, не то — двенадцать. (Каждый Охотник Желает Знать, Где Сидит Фазан — помните? Красный, Оранжевый, Желтый, Зеленый, Голубой, Синий, Фиолетовый — семь цветов радуги!)
После «глубокого изучения темы и недолгих мучений» я составил для себя к использованию в Excel и Calc палитру цветов из трех групп по десять цветов в каждой. Рекомендую ее всем, кто «уже не дальтоник, но еще не дизайнер».
Группу цветов с №21 по №30 я использую для заливки.
Группу цветов с №11 по №20 — для шрифтов.
Группу цветов с №1 по №10 — универсально, то есть и для первого и для второго случаев.
Перестроить стандартную палитру очень просто: «Сервис» — «Параметры» — «Цвет» — «Изменить» — «Цвета» — «Спектр» — «Цветовая модель RGB» и для каждого из цветов вписываем значения красного, зеленого и синего, беря значения из таблицы. Аналогичные действия необходимо последовательно выполнить для всех цветов стандартной настройки. Получиться должно как-то так (в Excel-2003):
Задать имя цвета из библиотеки цветов
Описание работы функции
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Пример использования
Так как заливка ячеек значительно упрощает восприятие данных, то пользоваться ей любят практически все пользователи. Однако есть и большой минус – в стандартном функционале Excel отсутствует возможность выполнять операции на основе цвета заливки. Нельзя просуммировать ячейки определенного цвета, посчитать их количество, найти максимальное и так далее.
С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, “протяните” данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.
Заливка ячейки цветом в VBA Excel
Пример кода 1:
Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.
Вывод сообщений о числовых значениях цветов
Числовые значения цветов запомнить невозможно, поэтому часто возникает вопрос о том, как узнать числовое значение фона ячейки. Следующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.
Пример кода 2:
Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.
Форматирование диапазона
Самый известный способ поставить прочерк в ячейке – это присвоить ей текстовый формат. Правда, этот вариант не всегда помогает.
После этого выделенной ячейке будет присвоено свойство текстового формата. Все введенные в нее значения будут восприниматься не как объекты для вычислений, а как простой текст. Теперь в данную область можно вводить символ «-» с клавиатуры и он отобразится именно как прочерк, а не будет восприниматься программой, как знак «минус».
Существует ещё один вариант переформатирования ячейки в текстовый вид. Для этого, находясь во вкладке «Главная», нужно кликнуть по выпадающему списку форматов данных, который расположен на ленте в блоке инструментов «Число». Открывается перечень доступных видов форматирования. В этом списке нужно просто выбрать пункт «Текстовый».
Нажатие кнопки Enter
Но данный способ не во всех случаях работает. Зачастую, даже после проведения этой процедуры при вводе символа «-» вместо нужного пользователю знака появляются все те же ссылки на другие диапазоны. Кроме того, это не всегда удобно, особенно если в таблице ячейки с прочерками чередуются с ячейками, заполненными данными. Во-первых, в этом случае вам придется форматировать каждую из них в отдельности, во-вторых, у ячеек данной таблицы будет разный формат, что тоже не всегда приемлемо. Но можно сделать и по-другому.
Данный метод хорош своей простотой и тем, что работает при любом виде форматирования. Но, в то же время, используя его, нужно с осторожностью относиться к редактированию содержимого ячейки, так как из-за одного неправильного действия вместо прочерка может опять отобразиться формула.
Вставка символа
Ещё один вариант написания прочерка в Эксель – это вставка символа.
После этого прочерк отразится в выделенной ячейке.
Существует и другой вариант действий в рамках данного способа. Находясь в окне «Символ», переходим во вкладку «Специальные знаки». В открывшемся списке выделяем пункт «Длинное тире». Жмем на кнопку «Вставить». Результат будет тот же, что и в предыдущем варианте.
Данный способ хорош тем, что не нужно будет опасаться сделанного неправильного движения мышкой. Символ все равно не изменится на формулу. Кроме того, визуально прочерк поставленный данным способом выглядит лучше, чем короткий символ, набранный с клавиатуры. Главный недостаток данного варианта – это потребность выполнить сразу несколько манипуляций, что влечет за собой временные потери.
Добавление дополнительного символа
Кроме того, существует ещё один способ поставить прочерк. Правда, визуально этот вариант не для всех пользователей будет приемлемым, так как предполагает наличие в ячейке, кроме собственно знака «-», ещё одного символа.
Существует целый ряд способов установить в ячейку прочерк, выбор между которыми пользователь может сделать согласно целям использования конкретного документа. Большинство людей при первой неудачной попытке поставить нужный символ пытаются сменить формат ячеек. К сожалению, это далеко не всегда срабатывает. К счастью, существуют и другие варианты выполнения данной задачи: переход на другую строку с помощью кнопки Enter, использование символов через кнопку на ленте, применение дополнительного знака «’». Каждый из этих способов имеет свои достоинства и недостатки, которые были описаны выше. Универсального варианта, который бы максимально подходил для установки прочерка в Экселе во всех возможных ситуациях, не существует.
VBA Excel. Цвет ячейки (заливка, фон)
Заливка ячейки цветом в VBA Excel
Пример кода 1:
Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.
Проверено в Excel 2016.
Вывод сообщений о числовых значениях цветов
Числовые значения цветов запомнить невозможно, поэтому часто возникает вопрос о том, как узнать числовое значение фона ячейки. Следующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.
Пример кода 2:
Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.
Использование предопределенных констант
В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:
Предопределенная константа | Наименование цвета |
---|---|
vbBlack | Черный |
vbBlue | Голубой |
vbCyan | Бирюзовый |
vbGreen | Зеленый |
vbMagenta | Пурпурный |
vbRed | Красный |
vbWhite | Белый |
vbYellow | Желтый |
xlNone | Нет заливки |
Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:
Пример кода 3:
Цветовая модель RGB
Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 – это черный цвет, если все значения равны 255 – это белый цвет.
Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:
Чтобы можно было присвоить ячейке или диапазону цвет с помощью значений RGB, их необходимо перевести в десятичное число, обозначающее цвет. Для этого существует функция VBA Excel, которая так и называется – RGB.
Пример кода 4:
Очистка ячейки (диапазона) от заливки
Для очистки ячейки (диапазона) от заливки используется константа xlNone :
Пример кода 5:
Просмотреть ограниченную палитру для заливки ячеек фоном можно, запустив в VBA Excel простейший макрос:
Пример кода 6:
Номера строк активного листа от 1 до 56 будут соответствовать индексу цвета, а ячейка в первом столбце будет залита соответствующим индексу фоном.
Готовую стандартную палитру из 56 цветов можете посмотреть здесь.
58 комментариев для “VBA Excel. Цвет ячейки (заливка, фон)”
Спасибо, наконец то разобрался во всех перипетиях заливки и цвета шрифта.
Пожалуйста, Виктор. Очень рад, что статья пригодилась.
как проверить наличие фона?
Привет, Надежда!
Фон у ячейки есть всегда, по умолчанию – белый. Отсутствие цветного фона можно определить, проверив, является ли цвет ячейки белым:
Подскажите пожалуйста, как можно посчитать количество залитых определенным цветом ячеек в таблице?
Привет, Иван!
Посчитать ячейки с одинаковым фоном можно с помощью цикла.
Для реализации этого примера сначала выбираем в таблице ячейку с нужным цветом заливки. Затем запускаем код, который определяет цветовой индекс фона активной ячейки, диапазон таблицы вокруг нее и общее количество ячеек с такой заливкой в таблице.
Фарин, пользовательская функция VBA предназначена только для возврата вычисленного значения в ячейку, в которой она расположена. Она не позволяет внутри себя менять формат своей ячейки, а также значения и форматы других ячеек.
Однако, с помощью пользовательской функции VBA можно вывести значения свойств ячейки, в которой она размещена:
В сети есть эксперименты по изменению значений других ячеек из пользовательской функции VBA, но они могут работать нестабильно и приводить к ошибкам.
Для подкрашивания ячейки в зависимости от ее значения используйте процедуру Sub или штатный инструмент Excel – условное форматирование.
Лев, закрасить пустые ячейки можно с помощью цикла For Each… Next:
Евгений, спасибо за ссылку на интересный прием.
Евгений, день добрый.
Подскажите пожалуйста, как назначить ячейке цвет через значение RGB, которое в ней записано. Или цвет другой ячейки.
Привет, Александр!
Используйте функцию InStr, чтобы найти положение разделителей, а дальше функции Left и Mid. Смотрите пример с пробелом в качестве разделителя:
Или еще проще с помощью функции Split:
Добрый день!
подскажите, пожалуйста, как можно выводить из таблицы (150 столбцов х 150 строк) адрес ячеек (списком), если они имеют заливку определенного цвета.
Заранее спасибо!
Привет, Валентина!
Используйте два цикла For…Next. Определить числовой код цвета можно с помощью выделения одной из ячеек с нужным цветом.
столбец “D” имеет разноцветную заливку
надо справа от зеленой ячейки написать “Да”
Каким-то образом надо узнать числовое значение цвета, если он не стандартный – vbGreen. Например, можно выделить ячейку с нужным цветом и записать числовое значение цвета в переменную:
Евгений, спасибо за подсказку.
Все получилось
Валентина, замените в коде имя “Лист2” на имя своего листа.
Евгений. Долгое время мучаюсь реализацией следующего сценария: в таблице Excel, которая является базой данных пациентов отделения есть столбец “G” в котором лаборанты отмечают исследования выполненные с контрастом “(С+)” и без “(C-)” и далее в столбце “N” они отмечаются количество использованного контраста “от 50мл до 200мл”; для удобства ввода и уменьшения числа непреднамеренных ошибок в столбцах реализована функция проверки данных что бы сотрудники могли выбирать уже готовые значения из списка и если ошибутся то выскочит ошибка; тем не менее сотрудники умудряются при заполнении таблицы не вносить количество использованного контраста. Вопрос заключается в том, как подкрасить ячейку для ввода количества контраста красным цветом при условии, что в ячейке столбца G фигурирует (С+) с целью акцентировать на этом внимание.
Заранее спасибо за ответ.
Добрый день, Алексей!
Примените условное форматирование:
Если в ячейке столбца “G” будет выбрано “(С+)”, то ячейка той же строки в столбце “N” подкрасится красным цветом. После ввода значения в ячейку столбца “N”, ее цвет изменится на первоначальный.
Спасибо Евгений! Ваш пример многое прояснил (в т.ч надо читать Уокенбаха и не филонить). Мне удалось заставить работать этот сценарий не так изящно как у Вас т.е создал для каждой отдельной переменной свое правило: пр. для ГМ. (С+) –> =ЕСЛИ(И(G5066=”ГМ. (С+)”;N5066=””);”Истина”;”Ложь”)
МТ. (С+) –> =ЕСЛИ(И(G5066=”МТ. (С+)”;N5066=””);”Истина”;”Ложь”) и т.д всего 8 правил для каждого конкретного случая.
И применил их всех для столбца N:N
Применение цвета к чередующимся строкам или столбцам
Применив цвет к чередующимся строкам или столбцам (это часто называют цветными полосами), можно облегчить восприятие данных на листе. Чтобы отформатировать чередующиеся строки или столбцы, можно быстро применить один из встроенных форматов таблицы. Если воспользоваться этим методом, то при добавлении новых строк или столбцов к ним автоматически будет применяться соответствующая заливка.
Вот как это сделать:
Выделите диапазон ячеек, которые нужно отформатировать.
На вкладке Главная выберите команду Форматировать как таблицу.
Выберите стиль таблицы, в котором применяется заливка с чередованием строк.
Чтобы вместо строк применить заливку к столбцам, выделите таблицу, откройте вкладку Конструктор, снимите флажок Чередующиеся строки и установите флажок Чередующиеся столбцы.
Совет: Если вы хотите сохранить стиль с чередованием, но убрать функциональность таблицы, выберите команду Преобразовать в диапазон. В этом случае при добавлении строк и столбцов к ним не будет автоматически применяться форматирование с цветными полосами, но его можно применять вручную с помощью команды Формат по образцу.
Применение полос к строкам или столбцам с помощью условного форматирования
Применить особый формат к определенным строкам или столбцам можно также с помощью правила условного форматирования.
Вот как это сделать:
На листе выполните одно из указанных ниже действий.
Чтобы применить затенение к определенному диапазону ячеек, выберите ячейки, которые необходимо отформатировать.
Чтобы применить затенение ко всему листу, нажмите кнопку Выделить все.
На вкладке Главная нажмите кнопку Условное форматирование и выберите команду Создать правило.
В списке Выберите тип правила выберите пункт Использовать формулу для определения форматируемых ячеек.
Чтобы применить цвет к чередующимся строкам, в поле Форматировать значения, для которых следующая формула является истинной введите формулу =ОСТАТ(СТРОКА();2)=0.
Чтобы применить цвет к чередующимся столбцам, введите формулу =ОСТАТ(СТОЛБЕЦ();2)=0.
Эти формулы определяют, является ли строка (или столбец) четной или нечетной, чтобы можно было применить соответствующий цвет.
Нажмите кнопку Формат.
В окне Формат ячеек откройте вкладку Заливка.
Выберите цвет и нажмите кнопку ОК.
Выбранный цвет показан в поле Образец. Нажмите кнопку ОК или выберите другой цвет.
Вот как можно изменить правило условного форматирования: щелкните одну из ячеек, к которым оно применяется, на вкладке Главная последовательно выберите команды Условное форматирование > Управление правилами, нажмите кнопку Изменить правило и внесите необходимые изменения.
Чтобы удалить условное форматирование из ячеек, выделите их и на вкладке Главная последовательно выберите команды Очистить > Очистить форматы.
Чтобы скопировать условное форматирование в другие ячейки, щелкните одну из тех ячеек, к которым оно применено, на вкладке Главная нажмите кнопку Формат по образцу и щелкните ячейки, которые хотите отформатировать.
Цветовой индекс VBA | Лучшие способы использования свойства индекса цвета в Excel VBA
Цветовой индекс Excel VBA
Как и на листе, мы меняем цвет ячейки или заданного диапазона ячеек на главной вкладке в VBA. У нас есть функция vba, называемая Color Index, которая используется для изменения цветов ячеек или предоставленного диапазона ячеек, эта функция имеет уникальную идентификацию для разных типов цветов.
Мы применяем цвет к ячейке в качестве цвета фона, мы применяем цвет шрифта и применяем цвет границы. Итак, чтобы получить доступ к свойству цвета и индекса цвета, нам нужно сначала выбрать ячейку.
Как использовать свойство Color & Color Index?
Предположим, у вас есть слово «Привет» в ячейке A1. Мы увидим, как применить цвет фона этой ячейки.
Чтобы изменить цвет фона, в свойствах цветов нам нужно сначала указать диапазон ячейки.
После выбора ячейки нам нужно упомянуть, что нам нужно сделать. Как я уже сказал, нам нужно изменить внутренний цвет ячейки. Итак, чтобы изменить цвет фона ячейки, используйте свойство «Интерьер».
В разделе Свойство интерьера у нас есть несколько других методов и свойств. Поскольку нам нужно изменить цвет ячейки, используйте свойство color.
Здесь мы можем использовать 8 постоянно именованных цветов. Ниже приводится список того же.
vbBlack, vbRed, vbGreen, vbBlue, vbYellow, vbMagenta, vbCyan, vbWhite
Выберите тип цвета по своему желанию.
Если я запустил этот код с помощью клавиши F5 или вручную, он изменит цвет фона ячейки A1 на vbBlue.
Таким образом, вы можете использовать другие постоянные именованные цвета. Попробуйте использовать их, чтобы проверить результат.
Помимо этих 8 постоянных цветов, мы также можем заливать разными цветами, используя функцию RGB в VBA.
Нам нужно ввести цифрами смесь красного, зеленого и синего цветов. Чтобы использовать это, вы должны уметь правильно вводить числа. Я ввел смесь как RGB (250, 200, 150).
Изменение этого цвета происходит так.
Проблема здесь в том, что вы точно не знаете, какое число какого цвета.
Приведенный ниже код предназначен для изменения цвета шрифта.
Запустите этот код с помощью клавиши F5 или вручную, чтобы получить результат.
Color Index немного отличается от свойства color. В свойстве COLOR мы используем 8 постоянных цветов, заданных VBA, а также используя функцию RGB, мы создаем свой собственный цвет.
Свойство COLOR INDEX ограничено в VBA, оно может содержать значения от 1 до 56. Каждое число от 1 до 56 содержит разные цвета. Ниже приведены номера списков и их соответствующие цвета.
Ниже приведен код макроса для изменения цвета фона ячейки A1 на розовый.
Запустите этот код вручную или с помощью клавиши F5, чтобы увидеть результат.
Ниже приведен код макроса для изменения цвета шрифта ячейки A1 на желтый.
Запустите этот код с помощью клавиши F5 или вы можете запустить его вручную и посмотреть результат.
Здесь важно помнить, что мы можем вводить числа от 1 до 56. Если значение больше 56, мы получим ошибку «Индекс вне допустимого диапазона».
Вы заметили?
Как я уже сказал, свойство Color Index может вставлять только 56 цветов, но факт в том, что оно может вставлять только 46 уникальных цветов и есть 10 повторяющихся цветов. Ниже приведен список повторяющихся цветовых кодов.