Изменение цвета текста (шрифта) в ячейке рабочего листа Excel с помощью кода VBA. Свойства ячейки (диапазона) .Font.Color, .Font.ColorIndex и .Font.TintAndShade.
Использование цветовой палитры для присвоения цвета тексту в ячейке листа Excel аналогично присвоению цвета фону ячейки, только свойство диапазона .Interior меняем на свойство .Font.
Цвет текста и предопределенные константы
Цвет шрифту в ячейке можно присвоить с помощью предопределенных констант:
|
Range(«A1:C3»).Font.Color = vbGreen Range(Cells(4, 1), Cells(6, 3)).Font.Color = vbBlue Cells(7, 1).Font.Color = vbRed |
Напомню, что вместо индексов строк и столбцов можно использовать переменные. Список предопределенных констант смотрите здесь.
Цвет шрифта и модель RGB
Для изменения цвета текста в ячейке можно использовать цветовую модель RGB:
|
Range(«A1»).Font.Color = RGB(200, 150, 250) Cells(2, 1).Font.Color = RGB(200, 150, 100) |
Аргументы функции RGB могут принимать значения от 0 до 255. Если все аргументы равны 0, цвет — черный, если все аргументы равны 255, цвет — белый. Функция RGB преобразует числовые значения основных цветов (красного, зеленого и синего) в индекс основной палитры.
Список стандартных цветов с RGB-кодами смотрите в статье: HTML. Коды и названия цветов.
Свойство .Font.ColorIndex
Свойство .Font.ColorIndex может принимать значения от 1 до 56. Это стандартная ограниченная палитра, которая существовала до Excel 2007 и используется до сих пор. Посмотрите примеры:
|
Range(«A1:D6»).Font.ColorIndex = 5 Cells(1, 6).Font.ColorIndex = 12 |
Таблица соответствия значений ограниченной палитры цвету:
Стандартная палитра Excel из 56 цветов
Подробнее о стандартной палитре Excel смотрите в статье: Стандартная палитра из 56 цветов.
Свойство .Font.ThemeColor
Свойство .Font.ThemeColor может принимать числовые или текстовые значения констант из коллекции MsoThemeColorIndex:
|
Range(«A1»).Font.ThemeColor = msoThemeColorHyperlink Cells(2, 1).Font.ThemeColor = msoThemeColorAccent4 |
Основная палитра
Основная палитра, начиная c Excel 2007, состоит из 16777216 цветов. Свойство .Font.Color может принимать значения от 0 до 16777215, причем 0 соответствует черному цвету, а 16777215 — белому.
|
Cells(1, 1).Font.Color = 0 Cells(2, 1).Font.Color = 6777215 Cells(3, 1).Font.Color = 4569325 |
Отрицательные значения свойства .Font.Color
При записи в Excel макрорекордером макроса с присвоением шрифту цвета используются отрицательные значения свойства .Font.Color, которые могут быть в пределах от -16777215 до -1. Отрицательные значения соответствуют по цвету положительному значению, равному сумме наибольшего индекса основной палитры и данного отрицательного значения. Например, отрицательное значение -8257985 соответствует положительному значению 8519230, являющегося результатом выражения 16777215 + (-8257985). Цвета текста двух ячеек из следующего кода будут одинаковы:
|
Cells(1, 1).Font.Color = —8257985 Cells(2, 1).Font.Color = 8519230 |
Свойство .Font.TintAndShade
Еще при записи макроса с присвоением шрифту цвета макрорекордером добавляется свойство .Font.TintAndShade, которое осветляет или затемняет цвет и принимает следующие значения:
- -1 — затемненный;
- 0 — нейтральный;
- 1 — осветленный.
При тестировании этого свойства в Excel 2016, сравнивая затемненные и осветленные цвета, разницы не заметил. Сравните сами:
|
Sub Test() With Range(Cells(1, 1), Cells(3, 1)) .Value = «Сравниваем оттенки» .Font.Color = 37985 End With Cells(1, 1).Font.TintAndShade = —1 Cells(2, 1).Font.TintAndShade = 0 Cells(3, 1).Font.TintAndShade = 1 End Sub |
В первые три ячейки первого столбца записывается одинаковый текст для удобства сравнения оттенков.
Разноцветный текст в ячейке
Отдельным частям текста в ячейке можно присвоить разные цвета. Для этого используется свойство Range.Characters:
|
Sub Test() With Range(«A1») .Font.Color = vbBlack .Value = «Океан — Солнце — Оазис» .Font.Size = 30 .Characters(1, 5).Font.Color = vbBlue .Characters(9, 6).Font.Color = RGB(255, 230, 0) .Characters(18, 5).Font.Color = RGB(119, 221, 119) End With End Sub |
Результат работы кода:
Цвет шрифта Excel VBA
Свойство VBA Font Color можно использовать для изменения цвета шрифта ячеек Excel с помощью кода VBA. Используя индекс цвета и свойство цвета с функцией RGB, мы можем изменить цвет шрифта несколькими способами.
Когда мы готовим информационную панель в excelПодготовка информационной панели в ExcelИнформационная панель в Excel — это расширенный инструмент визуализации, который предоставляет обзор важнейших показателей и точек данных для бизнеса. Преобразовывая необработанные данные в содержательную информацию, информационная панель упрощает процесс принятия решений и анализа данных. Подробнее, мы обычно тратим много времени на форматирование ячеек, шрифты и т. д. Часто мы чувствуем себя косметологами Excel, глядя на различные цвета. форматирования Excel. Например, изменение цвета шрифта на листе Excel — простая задача, но когда дело доходит до Excel, вы должны знать, как писать код VBA. Написание кода VBA Код VBA — это набор инструкций, написанных пользователем в программировании приложений Visual Basic. языка в редакторе Visual Basic (VBE) для выполнения определенной задачи. Подробнее об изменении цвета шрифта.
Чтобы изменить цвет шрифта, во-первых, нам нужно определить, какие ячейки мы собираемся изменить.
Диапазон («A1:A10»)
Затем нам нужно выбрать свойство FONT.
Диапазон («A1:A10»). Шрифт
Тогда что мы хотим сделать с этим шрифтом? Итак, выберите цвет.
Диапазон («A1:A10»). Шрифт. Цвет
Таким образом, нам нужно создать код для изменения цвета шрифта. Это не выглядит легко.
Но помните, вначале все кажется трудным. Позже вы освоитесь.
Оглавление
- Цвет шрифта Excel VBA
- Как изменить цвет шрифта с помощью VBA?
- Пример №1 – Использование цветового индекса
- Пример №2 – Использование свойства цвета
- Пример №3 – Использование свойства цвета с функцией RGB
- Рекомендуемые статьи
- Как изменить цвет шрифта с помощью VBA?
Как изменить цвет шрифта с помощью VBA?
.free_excel_div{фон:#d9d9d9;размер шрифта:16px;радиус границы:7px;позиция:относительная;margin:30px;padding:25px 25px 25px 45px}.free_excel_div:before{content:»»;фон:url(центр центр без повтора #207245;ширина:70px;высота:70px;позиция:абсолютная;верх:50%;margin-top:-35px;слева:-35px;граница:5px сплошная #fff;граница-радиус:50%} Вы можете скачать этот шаблон Excel цвета шрифта VBA здесь — Цвет шрифта VBA Шаблон Excel
Пример №1 – Использование цветового индекса
Свойство Color Index отличается от свойства Color в VBAColor Свойство В VBAVBA Color Index используется для изменения цветов ячеек или диапазонов ячеек. Эта функция имеет уникальную идентификацию для различных типов цветов.Подробнее. Используя числовые значения, мы можем изменить цвет ячеек и шрифтов.
Числа варьируются от 1 до 56, и каждое число представляет разные цвета. Ниже приведен список чисел и их цветов.
Давайте проверим это.
У нас есть значение в ячейке A1.
Мы хотим изменить цвет шрифта ячейки A1 на зеленый. Ниже приведен код.
Код:
Sub FontColor_Example1() Range («A1»). Font.ColorIndex = 10 End Sub
Это изменит цвет шрифта ячейки A1 на зеленый.
Мы также можем использовать свойство CELLS для изменения цвета шрифта.
Код:
Sub FontColor_Example1() Cells(1, 1).Font.ColorIndex = 10 End Sub
Таким образом, мы можем использовать числа от 1 до 56, чтобы применить желаемый цвет к шрифту.
Пример №2 – Использование свойства цвета
Color Index имеет очень ограниченное количество цветов от 1 до 56, но с помощью свойства COLOR мы можем использовать 8 встроенных цветов: vbBlack, vbRed, vbGreen, vbBlue, vbYellow, vbMagenta, vbCyan, vbWhite.
Для этих цветов нам не нужно указывать какие-либо числа. Скорее, мы можем получить к ним доступ, используя их имя, как показано выше. Ниже приведен пример кода для всех 8 цветов.
Код:
Sub vbBlack_Example() Range(«A1»).Font.Color = vbBlack End Sub
Код:
Sub vbRed_Example() Range(«A1»).Font.Color = vbRed End Sub
Код:
Sub vbGreen_Example() Range(«A1»).Font.Color = vbGreen End Sub
Код:
Sub vbBlue_Example() Range(«A1»).Font.Color = vbBlue End Sub
Код:
Sub vbYellow_Example() Range(«A1»).Font.Color = vbYellow End Sub
Код:
Sub vbMagenta_Example() Range(«A1»).Font.Color = vbMagenta End Sub
Код:
Sub vbCyan_Example() Range(«A1»).Font.Color = vbCyan End Sub
Код:
Sub vbWhite_Example() Range(«A1»).Font.Color = vbWhite End Подпример №3 — Использование свойства цвета с функцией RGB
Мы видели, что у нас есть только 8 встроенных цветов для работы. Но нам нужно использовать функцию RGB, чтобы иметь разные цвета. Помимо встроенных цветов, мы можем создавать наши цвета с помощью VBA VBA RGBVBA RGBRGB также можно назвать красным, зеленым и синим, эта функция используется для получения числового значения значения цвета, эта функция имеет три компонента: диапазон, и они красный, синий и зеленый, другие цвета рассматриваются как компоненты этих трех разных цветов в функции VBA.
Посмотрите на синтаксис функции RGB.
RGB (красный, зеленый, синий)
RGB означает «красный, зеленый и синий». Поэтому нам нужно предоставить числа от 0 до 255 для каждого цвета, чтобы построить цвета.
Ниже приведены несколько примеров для вас.
Ниже приведены некоторые примеры кода макроса.
Код:
Sub RGB_Example() Range(«A1»).Font.Color = RGB(0, 0, 0) ‘Изменить цвет шрифта на черный End Sub
Код:
Sub RGB_Example() Range(«A1»).Font.Color = RGB(16, 185, 199) ‘Цвет шрифта будет этим End Sub
Код:
Sub RGB_Example() Range(«A1»).Font.Color = RGB(106, 15, 19) ‘Цвет шрифта будет этим End Sub
Код:
Sub RGB_Example() Range(«A1»).Font.Color = RGB(216, 55, 19) ‘Цвет шрифта будет этим End Sub
Рекомендуемые статьи
Эта статья была руководством по цвету шрифта VBA. Здесь мы узнаем, как изменить цвет шрифта, используя индекс цвета VBA, свойство цвета с функцией RGB вместе с примерами и загрузим шаблон Excel. Ниже приведены некоторые полезные статьи Excel, связанные с VBA:
- Примеры VBA
- ЧДир ВБА
- Альтернативный цвет строки в Excel
|
VectorXXX Пользователь Сообщений: 14 |
#1 07.04.2016 13:57:06 Здравствуйте, помогите пожалуйста решить следующую проблему:
Прикрепленные файлы
Изменено: VectorXXX — 07.04.2016 22:54:26 |
||
|
vikttur Пользователь Сообщений: 47199 |
#2 07.04.2016 14:04:03
Может быть, посмотреть с другой стороны — обойтись без формулы и все вычислять в коде? |
||
|
VectorXXX Пользователь Сообщений: 14 |
к сожалению не тот у меня уровень знаний) |
|
Udik Пользователь Сообщений: 372 excel 2016х64 Контакты в профиле |
Чтобы именно формулами цвет ячейки получать это пользовательскую функцию писать надо. Арфы — нет, возьмите бубен. |
|
Фродо Пользователь Сообщений: 348 |
#5 07.04.2016 17:03:24
Изменено: Фродо — 07.04.2016 22:54:59 у меня простая версия Экселя, в ней нет кнопки «Прочитать мысли и сгенерировать файл пример» |
||
|
ts-79 Пользователь Сообщений: 246 |
Критичен ли цвет в столбце F? Или там могут быть и другие значения? Изменено: ts-79 — 07.04.2016 18:01:54 |
|
Фродо Пользователь Сообщений: 348 |
насколько я помню стандартные функции не могут узнать какой цвет у шрифта на всякий случай выложу свой пример через УДФ, может пригодится . у меня простая версия Экселя, в ней нет кнопки «Прочитать мысли и сгенерировать файл пример» |
|
bedvit Пользователь Сообщений: 2477 Виталий |
Кроме ЯЧЕЙКА(«формат»;…) со скудным функционалом, не припомню стандартных функций отслеживающих цвет шрифта. «Бритва Оккама» или «Принцип Калашникова»? |
|
VectorXXX Пользователь Сообщений: 14 |
#9 07.04.2016 18:38:23
не всегда в примечаниях пишут спец цена, бывают всякие акции и тд. |
||
|
VectorXXX Пользователь Сообщений: 14 |
#10 07.04.2016 23:26:21 Фродо, Спасибо большое, взял Вашу функцию. |
Содержание
- Список кодов индекса цвета VBA
- Свойство цвета VBA
- Цвет VB
- Цвета RGB
- Список кодов ColorIndex и цвета RGB в Access VBA
При использовании VBA для кодирования Colorindex (или цвета фона) ячейки полезно знать, какое целое число будет равно какому цвету. Ниже приведено справочное изображение, на котором показан цвет и указан соответствующий ему Colorindex. он же Цветовая палитра VBA
Вот код, чтобы сделать его для себя или просто добавить эту страницу в закладки:
| 123456789101112131415 | Sub ColorRef ()Dim x As IntegerДля x = от 1 до 56Если x <ТоCells (x, 1) .Interior.ColorIndex = xЯчейки (x, 2) = xЕщеЯчейки (x — 28, 3) .Interior.ColorIndex = xЯчейки (x — 28, 4) = xКонец, еслиДалее xКонец подписки |
Примеры VBA ColorIndex
Установить цвет фона ячейки
| 1 | Диапазон («A1»). Interior.ColorIndex = 6 |
Установить цвет шрифта ячейки
| 1 | Диапазон («A1»). Font.ColorIndex = 5 |
Установить цвет границ ячеек
| 1 | Диапазон («A1»). Borders.ColorIndex = 5 |
Получить индекс цвета фона ячейки
| 123 | Dim col как целое числоcol = Range («A1»). Interior.ColorIndex |
Установите цвет фона ячейки на цвет другой ячейки
| 1 | Диапазон («A1»). Interior.ColorIndex = Range («B1»). Interior.ColorIndex |
Свойство цвета VBA
Вместо использования свойства ColorIndex Excel / VBA вы можете использовать свойство Color. Свойство Color принимает два типа ввода:
- vbColor
- Цвета RGB
Мы обсудим это ниже:
Цвет VB
VB Color — самый простой способ установить цвета в VBA. Однако он также наименее гибкий. Чтобы установить цветовой код с помощью vbColor, используйте таблицу ниже:
Однако, как видно из таблицы, ваши возможности крайне ограничены.
Установить цвет фона ячейки
| 1 | Диапазон («A1»). Interior.Color = vbYellow |
Установить цвет шрифта ячейки
| 1 | Диапазон («A1»). Font.Color = vbBlue |
Установить цвет границ ячеек
| 1 | Диапазон («A1»). Borders.Color = vbRed |
Установите цвет фона ячейки на цвет другой ячейки
| 1 | Диапазон («A1»). Interior.Color = Range («B1»). Interior.Color |
Цвета RGB
RGB означает красный зеленый синий. Это три основных цвета, которые можно комбинировать для получения любого другого цвета. При вводе цветов как RGB введите значение от 0 до 255 для каждого цветового кода.
Вот пример:
| 1 | Диапазон («A1»). Interior.Color = RGB (255,255,0) |
Выше мы установили красный = 255 (максимальное значение), зеленый = 255 (максимальное значение) и синий = 0 (минимальное значение). Это устанавливает желтый цвет фона ячейки.
Вместо этого мы можем установить цвет шрифта ячейки на фиолетовый:
| 1 | Диапазон («A1»). Interior.Color = RGB (128,0,128) |
Существует множество онлайн-инструментов для поиска кода RGB для желаемого цвета (вот один).
Список кодов ColorIndex и цвета RGB в Access VBA
Access использует формы для отображения данных. Коды ColorIndex можно использовать для программного изменения цвета фона и цвета переднего плана объектов в формах Access.
| 12345 | Частная подпрограмма cmdSave_Click ()’изменить цвет фона кнопки сохранения при сохранении записи.DoCmd.RunCommand acCmdSaveRecordcmdSave.BackColor = vbGreenКонец подписки |
Вы поможете развитию сайта, поделившись страницей с друзьями
MulTEx »
1 Май 2011 7339 просмотров
Данная функция является частью надстройки MulTEx
Получение кода цвета шрифта ячейки
Функция возвращает числовой код цвета шрифта указанной ячейки.
Вызов команды через стандартный диалог:
Мастер функций—Категория «MulTEx»— Цвет_шрифта
Вызов с панели MulTEx:
Сумма/Поиск/Функции — Форматирование — Цвет_шрифта
Синтаксис:
=Цвет_шрифта(D1)
Ячейка(
D1
) — Ячейка, код цвета шрифта которой необходимо узнать. Если указан диапазон ячеек, но функция введена в одну ячейку, то будет возвращен цвет шрифта для левой верхней ячейки указанного диапазона.
Функция может быть использована как формула массива
Индекс() — Необязательный аргумент. Определяет тип вывода числового кода. 0 — числовой код цвета из 16-миллионной палитры. 1 — числовой индекс цвета из 56 цветов. По умолчанию 0.
Важно: Функция не вычисляется при изменении цвета шрифта. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2—Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).
Примечание: данная функция не учитывает ячейки, к котрым применено Условное Форматирование. Будет определен тот цвет шрифта, который установлен стандартными средствами.
Расскажи друзьям, если статья оказалась полезной:
Видеоинструкции по использованию надстройки MulTEx










