Vba excel interior color без заливки

Обновлено: 08.07.2024

Заливка ячейки цветом в VBA Excel. Фон ячейки. Свойства .Interior.Color и .Interior.ColorIndex. Цветовая модель RGB. Стандартная палитра. Очистка фона ячейки.

Свойство .Interior.Color объекта Range

Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).

Заливка ячейки цветом в VBA Excel

Пример кода 1:

Cells ( 3 , 6 ) . Interior . Color = 12659

Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.

Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:

Cells ( 3 , 1 ) . Interior . Color = 4569325

Проверено в Excel 2016.

Пример кода 2:

MsgBox Cells ( 3 , 6 ) . Interior . Color

Использование предопределенных констант

В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:

Предопределенная константа Наименование цвета
vbBlack Черный
vbBlue Голубой
vbCyan Бирюзовый
vbGreen Зеленый
vbMagenta Пурпурный
vbRed Красный
vbWhite Белый
vbYellow Желтый
xlNone Нет заливки

Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:

Пример кода 3:

Цветовая модель RGB

Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 – это черный цвет, если все значения равны 255 – это белый цвет.

Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:

Палитра Excel

Чтобы можно было присвоить ячейке или диапазону цвет с помощью значений RGB, их необходимо перевести в десятичное число, обозначающее цвет. Для этого существует функция VBA Excel, которая так и называется – RGB.

Пример кода 4:

Очистка ячейки (диапазона) от заливки

Для очистки ячейки (диапазона) от заливки используется константа xlNone:

Описание работы функции

Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:

Ниже представлен пример, демонстрирующий работу функции.

Пример работы формулы ЦВЕТЗАЛИВКИ

Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9

Пример использования

Синтаксис

выражения. Цвет

выражение Выражение, возвращаемая объекту Interior.

Object Цвет
Border Цвет границы.
Borders Цвет всех четырех границ диапазона. Если они не одного цвета, цвет возвращает 0 (ноль).
Font Цвет шрифта.
Interior Цвет затенки ячейки или цвет заполнения объекта рисования.
Tab Цвет вкладки.

Фильтр и сортировка ячеек по цвету в Excel

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

Для начала вспомним, в чем же польза от сортировки и фильтрации данных в Excel, и зачем она вообще нужна?

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

При этом фильтрация позволяет показать только те данные, которые удовлетворяют заданным критериям, и соответственно, скрыть те данные, которые не подходят по условию.
Сортировка же показывает все данные, однако упорядочивает их согласно заданным критериям.

В общем случае в Excel можно сортировать по алфавиту (для текста), по возрастанию или убыванию (для чисел), однако давайте познакомимся с еще одним вариантом сортировки — по цвету, и рассмотрим 2 способа, позволяющие сортировать и применять фильтр к данным:

  • Автофильтр и инструмент «Настраиваемая сортировка» (доступен начиная с версии Excel 2007);
  • Применение пользовательских функций.

Форматирование диапазона

Самый известный способ поставить прочерк в ячейке – это присвоить ей текстовый формат. Правда, этот вариант не всегда помогает.

  1. Выделяем ячейку, в которую нужно поставить прочерк. Кликаем по ней правой кнопкой мыши. В появившемся контекстном меню выбираем пункт «Формат ячейки». Можно вместо этих действий нажать на клавиатуре сочетание клавиш Ctrl+1.
  2. Запускается окно форматирования. Переходим во вкладку «Число», если оно было открыто в другой вкладке. В блоке параметров «Числовые форматы» выделяем пункт «Текстовый». Жмем на кнопку «OK».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-44.jpg

После этого выделенной ячейке будет присвоено свойство текстового формата. Все введенные в нее значения будут восприниматься не как объекты для вычислений, а как простой текст. Теперь в данную область можно вводить символ «-» с клавиатуры и он отобразится именно как прочерк, а не будет восприниматься программой, как знак «минус».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-45.jpg

Существует ещё один вариант переформатирования ячейки в текстовый вид. Для этого, находясь во вкладке «Главная», нужно кликнуть по выпадающему списку форматов данных, который расположен на ленте в блоке инструментов «Число». Открывается перечень доступных видов форматирования. В этом списке нужно просто выбрать пункт «Текстовый».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-46.jpg

Синтаксис Syntax

RGB(красный, зеленый, синий) RGB(red, green, blue)

Синтаксис функции RGB состоит из следующих именованных аргументов: The RGB function syntax has these named arguments:

Часть Part Описание Description
отображаем red Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее красный компонент цвета. Number in the range 0–255, inclusive, that represents the red component of the color.
Интенсив green Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее зеленый компонент цвета. Number in the range 0–255, inclusive, that represents the green component of the color.
компонентов blue Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее синий компонент цвета. Number in the range 0–255, inclusive, that represents the blue component of the color.

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Коды различных цветов в MS Excel 2003

Коды различных цветов при использовании конструкции типа .Interior.ColorIndex . Бесцветный код: -4142

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.JPG

Выбор цветов

Значения свойств ForeColor и BackColor задают соответственно цвет переднего плана и цвет фона для форм и элементов управления. Для элементов управления значение свойства ForeColor задает цвет текста, размещаемого на элементе управления. Это свойство недоступно для тех элементов управления, на которых текст разместить нельзя. В случае форм значение свойства ForeColor задает цвет, который будет использоваться по умолчанию для всех новых размещаемых на форме элементов управления, а также для сетки на форме (эта сетка видна только в режиме проектирования формы).

Все относящиеся к выбору цветов свойства используются одинаково. После щелчка на кнопке со стрелкой в поле свойства, относящегося к цвету, появляется приятное на вид небольшое окно, в котором, несмотря на его небольшой размер, будет целые две вкладки (рис. 19.1).

На вкладке System (Системные) (рис. 19.1, слева) можно выбрать цвет из системной палитры Windows, т.е. из цветов, заданных в панели управления Windows для элементов интерфейса Windows. Если из списка выбрать пункт типа Desktop (Рабочий стол) или Button Face (Поверхность кнопки), VBA будет автоматически корректировать хранящееся в свойстве значение цвета при изменении соответствующих параметров в панели управления Windows.

Рис. 19.1. Здесь показаны обе вкладки диалогового окна выбора цвета в VBA

На вкладке Palette (Палитра) (рис. 19.1, справа) можно выбрать цвет из предлагаемой палитры. VBA автоматически назначит свойству числовое значение выбранного цвета. В общем, довольно просто.

Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).

Заливка ячейки цветом в VBA Excel

Пример кода 1:

Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.

Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:

Проверено в Excel 2016.

Пример кода 2:

Использование предопределенных констант

В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:

Предопределенная константа Наименование цвета
vbBlack Черный
vbBlue Голубой
vbCyan Бирюзовый
vbGreen Зеленый
vbMagenta Пурпурный
vbRed Красный
vbWhite Белый
vbYellow Желтый

Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:

Пример кода 3:

Цветовая модель RGB

Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 - это черный цвет, если все значения равны 255 - это белый цвет.

Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:

Палитра Excel

Открывается в новом окне Палитра Excel

Чтобы можно было присвоить ячейке или диапазону цвет с помощью значений RGB, их необходимо перевести в десятичное число, обозначающее цвет. Для этого существует функция VBA Excel, которая так и называется - RGB.

Пример кода 4:

Свойство .Interior.ColorIndex объекта Range

Пример кода 5:

Просмотреть ограниченную палитру для заливки ячеек фоном можно, запустив в VBA Excel простейший макрос:

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

Изменить цвет ячейки при нажатии на ячейку с кодом VBA

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

1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.


2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

VBA: изменить цвет ячейки при нажатии на нее

3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

Затем, когда вы дважды щелкните ячейку, она будет окрашена в красный цвет. И когда вы щелкаете правой кнопкой мыши по ячейке, она будет окрашена в зеленый цвет. Смотрите скриншот:


Один щелчок, чтобы выделить строку и столбец выбранной ячейки в Excel:

Kutools for Excel's Макет для чтения Утилита помогает быстро выделить строку и столбец выбранной ячейки в Excel, как показано в демонстрации ниже.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная трасса)

Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA

По умолчанию при выборе диапазона ячеек выделяется серый цвет. Если вы хотите сделать выбранный диапазон более заметным, вы можете изменить его цвет выделения на тот, который вам нужен. Пожалуйста, сделайте следующее.

1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.


2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

Код VBA: изменить выделенный цвет выбранного диапазона

3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.


Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel

Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Нажмите Kutools > Макет для чтения. Смотрите скриншот:


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


Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.


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


Индекс цвета VBA - это функция, с помощью которой мы можем изменить цвет ячейки или текста, который находится в главном меню в разделе «Шрифт». То же самое можно сделать через VBA Macros. Мы можем изменить цвет текста или фона любой ячейки с помощью VBA Macro.

Пример № 1

С помощью VBA Coding очень легко раскрасить любую ячейку или текст.

Вы можете скачать этот шаблон VBA Color Index Excel здесь - шаблон VBA Color Index Excel

Для этого мы рассмотрели текст «Цвет» в ячейке, как показано ниже.


Теперь, чтобы закрасить выбранную ячейку любого выбора посредством кодирования VBA, нажмите Alt + F11 . Это приведет нас к окну VBA. Теперь вставьте новый модуль. Для этого перейдите в меню «Вставка» и выберите «Модуль», как показано ниже.


После этого мы получим пустой модуль, в который напишем код для Color Index. Для этого создайте тело для кода с подкатегорией . Для лучшего понимания назовите Подкатегорию с функцией использования.

Код:


Сначала выберите диапазон и выберите ячейку, которую нужно раскрасить. Здесь у нас есть ячейка B2 с текстом «Цвет».

Код:


Теперь введите и выберите Интерьер, как показано ниже. У этого есть много свойств, чтобы выбрать.

Код:


После этого введите и выберите Цвет из списка. Это позволит работать с разными цветами.

Код:


В VBA есть только один способ выбрать любой цвет. Введите « VB » перед названием цвета. Мы можем добавить и смешать только 8 основных базовых цветов. Это красный, черный, зеленый, желтый, синий, пурпурный, голубой и белый. Введите vb в начале этих цветов, как показано ниже.


Для завершения введите любой цвет в соответствии с форматом выше. Давайте рассмотрим vbGreen .

Код:


Теперь запустите код, используя клавишу F5 или вручную. Мы увидим, что цвет выбранной ячейки в диапазоне изменяется на зеленый цвет, как показано ниже.

Пример № 2

Мы можем изменить цвет любой выбранной ячейки в комбинированной смеси красный-зеленый-синий (или широко известный как RGB). Мы можем решить цветовой оттенок и количество оттенка, который мы хотим дать. Большее значение, придаваемое любому цвету, сделает его темного оттенка.

Для этого мы рассмотрим ту же ячейку с именем «Цвет». Теперь перейдите в окно VBA и откройте новый модуль. А в новом модуле напишите подкатегорию цвета, как показано ниже.

Код:


Выберите диапазон или ячейку с помощью команды Range и выберите ячейку «B2».

Код:


Теперь, как показано в примере-1, выберите Interior.Color, который активирует все применимые цвета для этой выбранной ячейки и, как объяснено, RGB дает любой диапазон цветовых оттенков. Здесь мы дали красный - 200, зеленый - 100 и синий - 150.

Код:


После этого запустите код. Как мы можем видеть на скриншоте ниже, цвет фона ячейки B2 изменяется с белого на фиолетовый. Таким образом, мы можем создать столько цветов, сколько потребуется.

Пример № 3

Мы видели процесс изменения цвета фона любой ячейки. Теперь рассмотрим, как изменить содержимое ячейки или цвет шрифта. Для этого мы также рассмотрим тот же текст, что и в примере-1.


Теперь перейдите в VBA и откройте новый модуль. Когда закончите, начните писать подкатегорию, как показано ниже.

Код:


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

Код:


Теперь, как показано в примере 2, вместо Interior.Color, выберите функцию Font.Color, как показано ниже. Команда Font выберет шрифт и текст выделенной ячейки.


А теперь используйте RGB, чтобы создать нужный цвет и внедрить его в выбранный текст ячейки. Здесь мы дали цветовую гамму Красный - 153, Зеленый - 50 и Синий - 204.

Код:


После этого запустите код с помощью клавиши F5 или вручную.

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

Пример № 4

В Microsoft Excel определены все возможные цвета, а также задан цветовой код. В приведенных выше примерах мы использовали команду Interior для изменения цвета любой ячейки. И с помощью RGB мы также выбрали цветовые оттенки. Теперь мы выберем определенный цветовой код и изменим цвет фона выбранной ячейки с помощью Color.Index . Определенные цветовые индексы приведены ниже.


Эти цветовые индексы взяты и доступны на веб-сайте Microsoft. Теперь перейдите в окно VBA и откройте новый модуль. И в новом модуле напишите Подкатегорию.

Код:


Сначала выберите диапазон и выберите ячейку, шрифт которой необходимо раскрасить. Здесь у нас есть ячейка B2 с текстом «Цвет».

Код:


После написания шрифта . Это позволит шрифты преуспеть.


И только после продолжения кодирования напишите и выберите Color.Index и выберите любой код цвета, как показано выше. Здесь мы выбираем индекс цвета 10, который представляет зеленый.

Код:


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

Мы можем сделать это и для цвета фона.

Плюсы VBA Color Index

  • Изменение цвета с VBA так же просто, как и изменение функций Excel.
  • Любой цвет может быть выбран.

То, что нужно запомнить

  • Всегда рекомендуется использовать VBA Color Index, когда используются статистические данные.
  • Всегда сохраняйте файл в Macro-Enabled Excel, чтобы созданный код и макрос можно было использовать несколько раз.
  • Использование цветового индекса вне списка из 56 цветов невозможно.
  • Цветовой индекс можно использовать как для изменения цвета шрифта, так и для фона.

Рекомендуемые статьи

Это было руководство к Excel VBAColor Index. Здесь мы обсудили, как использовать Color Index в VBA вместе с некоторыми практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

Читайте также: