Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2016, 17:03   #1
Red_Garry
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 55
По умолчанию Как программно определить цвет условноформатированной ячейки?

Здравствуйте! Задачка такая: Определить программно цвет шрифта в ячейке с условным форматированием. К примеру, ячейка cells(1,1) красит вводимое число в красный цвет, если число больше 0. Программа анализирует ячейку и, если число красное, то выполняются определённые действия. Пытался достучаться посредством:
cells(1,1).font.colorindex
не получается! Вместо 3 наблюдаю -4105.
Эрудиции не хватает - помогите!

Спасибо
Red_Garry вне форума Ответить с цитированием
Старый 27.01.2016, 17:33   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Сложно это
Здесь есть функция получения номера цвета с учетом УФ:
http://www.cpearson.com/excel/CFColors.htm
EducatedFool вне форума Ответить с цитированием
Старый 27.01.2016, 17:38   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

интуиция подсказывает, что где в недрах обьектной модели ексель дожны быть эти данные... но

я для каждой ячейки проверял те же условия, что написаны в FormatConditions. если условие выполнено - ячейка отформатирована соотв. способом.

разобрать 1-2 условия - довольно элементарно, а вот написать универсальную процедуру, которая разберет заданные в ячейки ЛЮБЫЕ!!! условные форматы, и решит который из них был применен в данной ячейке - это довольно обьемная задача.
Думаю, за полдня за день, что-то может начнет работать, а за неделю, месяц - может быть заработает полностью
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.01.2016, 18:00   #4
Red_Garry
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 55
По умолчанию

М-дя-я-я... Честно признаться не думал, что настолько сложная задача. Спасибо за ответы
Red_Garry вне форума Ответить с цитированием
Старый 27.01.2016, 18:22   #5
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Доброе время суток
Если Excel 2010 и новее, то можно воспользоваться
Range.DisplayFormat.Font.Color
AndVGri вне форума Ответить с цитированием
Старый 28.01.2016, 09:20   #6
Red_Garry
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 55
По умолчанию

К сожалению, задача возникла на производстве и решать её приходится средствами 2003-го офиса
Red_Garry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно изменить цвет в компоненте cyPanel artemavd Компоненты Delphi 4 16.09.2014 10:45
Как программно определить выделенные ячейки? RISagitov Microsoft Office Excel 4 21.07.2014 18:03
Как программно изменить цвет любого компонента? artemavd Общие вопросы Delphi 11 25.06.2014 12:06
Как определить координаты ячейки внутри функции вызываемой как формула из ячейки? RISagitov Microsoft Office Excel 3 07.03.2013 19:45
Как программно присвоить цвет из строковой переменно? artemavd Общие вопросы Delphi 2 05.06.2012 18:41