Определить код RGB шрифта ячейки Excel

Excel не содержит встроенной формулы, которая определяет шестнадцатеричный RGB код цвета шрифта ячейки. Данная функция реализует это.

Описание работы

Функция =ЦВЕТШРИФТАRGB(ЯЧЕЙКА) возвращает шестнадцатеричный код RGB цвета шрифта указанной ячейки. В качестве аргумента имеет 1 параметр:

  • ЯЧЕЙКА - Ссылка на ячейку, RGB цвет шрифта которой необходимо определить.

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

Пример работы формулы ЦВЕТШРИФТАRGB

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

Зачем это нужно? 

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

Код на VBA

Public Function ЦВЕТШРИФТАRGB(ЯЧЕЙКА As Range) As String
    Dim Red As Integer
    Dim Blue As Integer
    Dim Green As Integer
    Dim col As Double
 
    Application.Volatile
    col = ЯЧЕЙКА.Font.Color
 
    Red = col  256 ^ 0 And 255
    Green = col  256 ^ 1 And 255
    Blue = col  256 ^ 2 And 255
 
    ЦВЕТШРИФТАRGB = "#" & Format(Hex(Red), "00") & Format(Hex(Green), "00") & Format(Hex(Blue), "00")
End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.