Добрый день. Нужно решить следующую задачу. По цвету заливки ячейки извлекать RGB код вида "255,255,255". Поискал готовое решение в интернете и нашел вот такой вариант:
Код
Function getRGB2(FCell As Range) As String
'UpdatebyExtendoffice20170714
Dim xColor As Long
Dim R As Long, G As Long, B As Long
xColor = FCell.Interior.Color
R = xColor Mod 256
G = (xColor \ 256) Mod 256
B = (xColor \ 65536) Mod 256
getRGB2 = "R=" & R & ", G=" & G & ", B=" & B
End Function
Макрос работает и по команде getRGB2 извлекает код, но только если ячейка была залита вручную. Мне же нужно, чтобы код извлекался даже если ячейка окрашена путем использования условного форматирования. Возможно ли это?
, к сожалению, работает тоже только для ручной заливки. На условное форматирование выдает белый цвет везде.
Я пишу статьи для одного сайта, и там есть проблема с экспортом цветов из экселя на Windows. Почему-то только с Mac при вставке таблицы ячейки сохраняют цвет. С Винды часть кода, отвечающего за цвет, просто пропадает.
Я хочу прописать условия в экселе, чтобы этот код сохранялся, и для этого нужно, чтобы эксель сам понимал какой цвет задан в каждой ячейке.
написал: И чего это все полезли в определение цвета ячейки... Интересно, откуда поветрие?
К сожалению, этот метод работает тоже только для ручной заливки. На условное форматирование выдает белый цвет везде.
Я пишу статьи для одного сайта, и там есть проблема с экспортом цветов из экселя на Windows. Почему-то только с Mac при вставке таблицы ячейки сохраняют цвет. С Винды часть кода, отвечающего за цвет, просто пропадает.
Я хочу прописать условия в экселе, чтобы этот код сохранялся, и для этого нужно, чтобы эксель сам понимал какой цвет задан в каждой ячейке.
Увидел. Но все равно не получается. Без добавки DisplayFormat в макрос работает только на ручную заливку. Если добавлять DisplayFormat (версия после вашей правки) в код, то getRGB1 вообще на любую ячейку выдает ошибку #ЗНАЧ.