Страницы: 1
RSS
Раскрасить динамический диапазон в разные цвета
 
Не знаю, сталкивался ли кто-нибудь, кроме меня, с такой проблемой, когда заранее неизвестно сколько будет столбцов данных, но каждый столбец надо раскрасить отличным, от других столбцов, цветом. Поиск решения данной проблемы в интернете мне мало чего дал (может быть плохо искал). Основной затык состоял в том, что заливка в Excel-е осуществляется в RGB - цветовой схеме, а в ней заложить нормальное пошаговое изменение цвета не получится (ИМХО). простой рандом R,G и В составляющих цвета решения не даст, т.к. цвета выходят жуткие и нет гарантии, что соседние цвета не совпадут.
Углубившись в изучение теории цвета, я нашел решение в цветовой схеме HSL. В отличие от общераспространенной схемы RBG (где R - это красная составляющая цвета, G -зеленая а B - голубая), в HSL используется H (Hue) - оттенок цвета, S (Saturation) - насыщенность цвета и L (Lightness) - "светлота"/ яркость цвета. Здесь цвет фактически зависит только одного параметра H, а шаг для него задать уже не представляет сложности.
Осталась только одна проблема – научить Excel работать с HSL (может он все таки это умеет, но я видимо об этом не знаю). В итоге я написал функцию, которая переводит формат HSL в формат RGB. Его то я и хочу выложить на всеобщее обсуждение: может пригодится кому, или может кто-что посоветует по доработке кода. А может кто-то уже решил подобную проблему другим способом. В общем критика и советы приветствуются  :)
Для того, чтобы показать работу функции, прикладываю файл – пример. В первом варианте раскраска столбцов происходит стандартно с определенным шагом. Естественно, что чем больше столбцов надо раскрасить, тем менее плавный между столбцами переход. Решить такой момент можно меняя не только оттенок, но и насыщенность (вариант 2). А можно, опять же, рандомить насыщенность и яркость цвета (вариант 3) – но это так, чисто для показухи.
Учимся сами и помогаем другим...
 
я бы сделал итератор цветов, кот. переключает цвета из заранее переданного массива
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
заложить последовательность цветов заранее и вручную самому? да - думал о таком варианте, но это можно если столбцов 10-15. А если 50? 150? я думал об универсальном варианте.
Учимся сами и помогаем другим...
 
Цитата
ber$erk пишет:
заложить последовательность цветов заранее и вручную самому?
да

Цитата
ber$erk пишет:
А если 50? 150?
то это попугай )

посмотри, как сделаны стандартные шаблоны в 2007+

касательно "заказчик так хочет". Зачастую, он сам не знает, чего хочет на самом деле и/или не знает, как правильно это реализовать.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
Страницы: 1
Наверх