Excel код цвета шрифта ячейки

Изменение цвета текста (шрифта) в ячейке рабочего листа 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 цветов

Подробнее о стандартной палитре 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, и каждое число представляет разные цвета. Ниже приведен список чисел и их цветов.

Пример цвета шрифта VBA 1

Давайте проверим это.

У нас есть значение в ячейке A1.

Пример цвета шрифта VBA 1-1

Мы хотим изменить цвет шрифта ячейки A1 на зеленый. Ниже приведен код.

Код:

Sub FontColor_Example1() Range («A1»). Font.ColorIndex = 10 End Sub

Это изменит цвет шрифта ячейки A1 на зеленый.

Пример VBA FontColor 1-2

Мы также можем использовать свойство 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 для каждого цвета, чтобы построить цвета.

Ниже приведены несколько примеров для вас.

Пример VBA FontColor 3

Ниже приведены некоторые примеры кода макроса.

Код:

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
Регистрация: 23.03.2016

#1

07.04.2016 13:57:06

Здравствуйте, помогите пожалуйста решить следующую проблему:
Записал себе макрос, а он не работает как надо.
В колонку G должна вставляться формула ЕСЛИ(ЕОШ(ПОИСК(«*витяжка*»;B8)>0);F8*0,85;F8*0,88), но если текст в RC[-1] красный, то должно встать просто =RC[-1].
Как я понимаю проблема в том что Selection.FillDown отказывается работать с фильтром.
Каким образов можно определить цвет текста в ячейке, что бы обойтись без использования фильтра?
файл для примера прикрепил — лист2 — как должно быть.
код макроса:

Код
Sub ПрайсМакро()

    Columns("G:G").Select
    Selection.ClearContents
    Range("H3").Select
    ActiveCell.FormulaR1C1 = "курс:"
    Range("I3").Select
    ActiveCell.FormulaR1C1 = "25"
    Range("G7").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISERR(SEARCH(""*витяжки*"",RC[-5])>0),RC[-1]*0.85,RC[-1]*0.88)"
    Range("G7").Select
    Selection.AutoFill Destination:=Range("G7:G205")
    Range("G7:G205").Select
    ActiveSheet.Range("$A$6:$F$205").AutoFilter Field:=6, Criteria1:=vbRed, Operator:=xlFilterFontColor
    Range("G7").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("G7").Select
    Selection.FillDown
    ActiveWindow.SmallScroll Down:=-138
    Selection.AutoFilter
    Range("I7").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[2]/R3C9-RC[-2]<15,RC[-2]+15,RC[2]/R3C9)"
    Range("I7").Select
    Selection.AutoFill Destination:=Range("I7:I227"), Type:=xlFillDefault
    Range("I7:I227").Select
    ActiveWindow.SmallScroll Down:=-210
    Range("H7").Select
End Sub

Прикрепленные файлы

  • plfile.xls (37 КБ)

Изменено: VectorXXX07.04.2016 22:54:26
(Смена названия темы)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#2

07.04.2016 14:04:03

Цитата
Возможно ли определить цвет шрифта в условии формулы?

Может быть, посмотреть с другой стороны — обойтись без формулы и все вычислять в коде?

 

VectorXXX

Пользователь

Сообщений: 14
Регистрация: 23.03.2016

к сожалению не тот у меня уровень знаний)
но если кто поможет написать — буду очень признателен

 

Udik

Пользователь

Сообщений: 372
Регистрация: 07.03.2016

excel 2016х64 Контакты в профиле

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

Арфы — нет, возьмите бубен.

 

Фродо

Пользователь

Сообщений: 348
Регистрация: 10.03.2016

#5

07.04.2016 17:03:24

Код
 If Range("B23").Font.Color = 255 Then
  'действие если красный шрифт
  Else
  'действие если шрифт не красный
  End If

Изменено: Фродо07.04.2016 22:54:59

у меня простая версия Экселя, в ней нет кнопки «Прочитать мысли и сгенерировать файл пример»

 

ts-79

Пользователь

Сообщений: 246
Регистрация: 15.02.2013

Критичен ли цвет в столбце F?
Ведь есть еще и атрибут столбца D (пустой/не пустой), который передает те же условия что и цвет в столбце F

Или там могут быть и другие значения?
Если нет то:
=ЕСЛИ(D7=»»;ЕСЛИ(ЕОШ(ПОИСК(«*витяжка*»;B7)>0);F7*0,85;F7*0,88);F7)

Изменено: ts-7907.04.2016 18:01:54

 

Фродо

Пользователь

Сообщений: 348
Регистрация: 10.03.2016

насколько я помню стандартные функции не могут узнать какой цвет у шрифта

на всякий случай выложу свой пример через УДФ, может пригодится .
трактовка =ЕСЛИ(КрасныйЦвет(F7);»ячейка красная»;»ячейка Не красная»)

у меня простая версия Экселя, в ней нет кнопки «Прочитать мысли и сгенерировать файл пример»

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

Кроме ЯЧЕЙКА(«формат»;…) со скудным функционалом, не припомню стандартных функций отслеживающих цвет шрифта.

«Бритва Оккама» или «Принцип Калашникова»?

 

VectorXXX

Пользователь

Сообщений: 14
Регистрация: 23.03.2016

#9

07.04.2016 18:38:23

Цитата
ts-79 написал: Критичен ли цвет в столбце F?

не всегда в примечаниях пишут спец цена, бывают всякие акции и тд.

 

VectorXXX

Пользователь

Сообщений: 14
Регистрация: 23.03.2016

#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 принимает два типа ввода:

  1. vbColor
  2. Цвета 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.

Важно: Функция не вычисляется при изменении цвета шрифта. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).

Примечание: данная функция не учитывает ячейки, к котрым применено Условное Форматирование. Будет определен тот цвет шрифта, который установлен стандартными средствами.


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel код цвета текста
  • Excel код цвета заливки ячейки
  • Excel код формата ячейки
  • Excel код формата числа
  • Excel код формата тысячи

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии