Добрый день!
Написал макрос, который считывает цвет одной ячейки и закрашивает в тот же цвет другую ячейку.
Считывает так:
CellColor = Cells(i, j).Interior.ColorIndex
Раскрашивает так:
Cells(i, j+5).Interior.ColorIndex = CellColor
Так вот. Цвет не совсем тот! Я думал, у каждого оттенка свой код. Оказалось, нет. Может кто подскажет, как точно определить цвет? Там есть что-то еще кроме кода?
Извините. Разобрался уже сам.
Ответ такой, что ColorIndex - это не цвет в полном смысле. Надо брать Cells(i, j).Interior.Color
Тогда код потяжелее, в переменную integer не помещается. Но зато цвет описывает досконально.
Погуглите по словам EGA, CGA и поймете откуда colorindex. ;) Видеокарты не всегда были такими навороченными, чтоб отображать больше 16\64 цветов. И в ранних версиях винды(3.0,3.1) и экса(5) не было оттенков, было 64 цвета. Но тогда это было суперкруто! ;D
Ну не круче, чем та штуковина, которая читала перфокарты ))
Мы ведь о цветовом разрешении мониторов рассуждаем? Пожалуйста уточните, сколько цветов было у мониторов времен перфокарт? ;D
Цветов было меньше, а синтаксис в Excel был проще
Цитата: zs5 от 31.05.2017, 17:51
синтаксис в Excel был проще
Кто Вам такое сказал?
Синтаксис с тех пор ни на йоту не изменился. Поэтому мои программы, написанные под Экс5 работают и сегодня :D
Синтаксис пользовательский для встроенных функций
Можно пример?