Определение значения RGB для цвета (Microsoft Excel)
Нил много использует цвета в своих таблицах. Он знает, что может генерировать цвет на основе числового значения RGB (как объясняется в других вопросах ExcelTips). Нил хотел бы сделать обратное — определить значение RGB. Он задается вопросом, есть ли способ вернуть (через функцию или макрос)
значение RGB цвета, используемого для заполнения ячейки. (Нил хочет, чтобы к ячейке был применен фактический цвет, а не какой-либо «замещающий» цвет, например, наложенный условным форматом.)
В Excel нет функции для этого, но если вам нужно проверить значения RGB только для одной ячейки, самый простой способ — выполнить следующие действия:
-
Выберите ячейку, отформатированную цветом, который вы хотите проверить.
-
Откройте вкладку «Главная» на ленте.
-
Щелкните стрелку вниз справа от инструмента «Цвет заливки» в группе «Шрифт». Excel отображает небольшую палитру цветов и некоторые другие параметры.
-
Выберите больше цветов. Excel отображает диалоговое окно «Цвета».
-
Убедитесь, что отображается вкладка Custom. (См. Рис. 1.)
-
Внизу диалогового окна вы можете увидеть отдельные значения для красного, зеленого и синего компонентов цвета в ячейке.
-
По завершении нажмите ОК.
Если вам нужно получать значения чаще, тогда создание вашей собственной пользовательской функции — лучший вариант. Используемая функция зависит от того, что вы хотите вернуть на рабочий лист. Например, если вы хотите вернуть традиционный шестизначный шестнадцатеричный код для цветов RGB, вы должны использовать следующий очень простой макрос:
Function getRGB1(rcell) As String Dim sColor As String sColor = Right("000000" & Hex(rcell.Interior.Color), 6) getRGB1 = Right(sColor, 2) & Mid(sColor, 3, 2) & Left(sColor, 2) End Function
Этот макрос проверяет внутренний цвет для любой ячейки, на которую вы ссылаетесь, помещает шестнадцатеричные значения цвета в правильном порядке и возвращает строку в Excel. Чтобы использовать функцию, вы просто вызываете ее на своем листе со ссылкой на ячейку следующим образом:
=getRGB1(B4)
Однако вы можете не захотеть использовать традиционные шестнадцатеричные коды для цветов RGB.
Если вы хотите получить десятичные значения для каждого из цветов, следующий макрос возвращает это:
Function getRGB2(rcell) As String Dim C As Long Dim R As Long Dim G As Long Dim B As Long C = rcell.Interior.Color R = C Mod 256 G = C \ 256 Mod 256 B = C \ 65536 Mod 256 getRGB2 = "R=" & R & ", G=" & G & ", B=" & B End Function
Эта версия, вызываемая так же, как макрос getRGB1, возвращает строку типа «R = 255, G = 204, B = 0». Вы также можете изменить макрос еще больше, чтобы он возвращал одно значение на основе установленного вами параметра:
Function getRGB3(rcell As Range, Optional opt As Integer) As Long Dim C As Long Dim R As Long Dim G As Long Dim B As Long C = rcell.Interior.Color R = C Mod 256 G = C \ 256 Mod 256 B = C \ 65536 Mod 256 If opt = 1 Then getRGB3 = R ElseIf opt = 2 Then getRGB3 = G ElseIf opt = 3 Then getRGB3 = B Else getRGB3 = C End If End Function
Чтобы использовать макрос, просто добавьте второй параметр к функции, используемой в вашем листе, указав, что вы хотите:
=getRGB3(B4,1)
Если второй параметр равен 1, функция возвращает только красное значение. Если вы укажете второй параметр, равный 2, то возвращается зеленое значение, а 3 возвращает синее значение. Любое другое значение для второго параметра (или если вы его полностью опустите) возвращает полное десятичное значение внутреннего цвета.
Если вы не хотите идти по пути создания макроса или хотите определять цвета не только на листе Excel, вы можете рассмотреть возможность использования сторонней утилиты. Интересно выглядит Instant Eyedropper, который предоставляется бесплатно. Вы можете найти больше информации об этом здесь:
http://instant-eyedropper.com
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (10180) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Determining_the_RGB_Value_of_a_Color [Определение значения RGB для цвета]
.