Отображение цветов RGB в ячейке (Microsoft Excel)
Деннис хочет заполнить три ячейки (A1: A3) значениями RGB и сделать так, чтобы другая ячейка (C1) показывала цвет на основе этих значений. Он задается вопросом, есть ли простой способ сделать это.
Самый простой способ сделать это — использовать макрос, который получает значения в A1: A3 и затем изменяет цвет ячейки C1 на основе этих значений.
В идеале макрос должен проверять, находятся ли значения в исходных ячейках в диапазоне от 0 до 255. Для этой цели отлично подходит следующий макрос:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A3")) Is Nothing Then lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End If End Sub
Обратите внимание, что этот макрос следует добавить в код рабочего листа, на котором существуют ячейки. (Просто щелкните правой кнопкой мыши вкладку листа и выберите «Просмотреть код», затем добавьте туда макрос.) Это обработчик событий, который автоматически запускается каждый раз, когда в ячейке A1, A2 или A3 происходит изменение.
Значения в этих ячейках находятся в диапазоне от 0 до 255, если взять абсолютное значение содержимого ячейки и использовать остаток (по модулю)
деления на 256.
Макрос работает только тогда, когда вы вручную изменяете значение в диапазоне A1: A3 (ваши значения RGB). Если значения в этом диапазоне являются результатом формул, это не будет работать должным образом, потому что вы не изменяете ячейки вручную. В этом случае вам следует использовать эту более простую модификацию макроса:
Private Sub Worksheet_Change(ByVal Target As Range) lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End Sub
Эта версия обновляет цвет каждый раз, когда что-то изменяется на листе, независимо от того, где происходит изменение.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9092) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Отображение_RGB_Colors_in_a_Cell [Отображение цветов RGB в ячейке]
.