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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 15:05   #1
L777SU46rus
Новичок
Джуниор
 
Регистрация: 27.04.2010
Сообщений: 1
По умолчанию Суммирование цветных ячеек

Помогите пожалуйста! Очень нучно написать макрос по следующее задаче:
Имеется таблица в которой одни ячейки закрашены в синий цвет, а другие в розовый. Все ячейки заполнены числами.
Необходимо суммировать отдельно синие и розовые, после этого вычесть полученные суммы, но при условии если изменить цвет ячейки то получится другой ответ.

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

Это надо сделать формулами (пользовательскими функциями), или макросом?
Как и куда выводить результат?
Где пример файла?

Посмотрите примеры кода здесь:
http://www.excel-vba.ru/MyAddinFUNC_Summ_CellColor.html
http://www.planetaexcel.ru/forum.php?thread_id=8934
EducatedFool вне форума Ответить с цитированием
Старый 27.04.2010, 16:43   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

конечно, писать после ответа глубокоуважаемого EducatedFool, наглость с моей стороны , но, я всё таки позволю себе небольшое высказывание по данной теме.
______________

Вопрос решаемый, но достаточно муторный..

прежде всего, всё зависит от того, каким образом задан цвет ячейки!

Если это сделано через условное форматирование, тогда надо взять условие,
по которому раскрашивается ячейка и использовать это условие в суммировании.


А вот если цвет задан через изменение цвета заливки ячейки,
то задачу можно реализовать через пользовательскую функцию:
Function BGColor(c As Range)
Application.Volatile
BGColor = c.Interior.ColorIndex
End Function
Но! Есть большая проблема. Проблема в том, что в Excel нет события изменения формата ячейки,
то есть при простом изменении цвета формула пересчитывается не будет.
Придется каждый раз после изменения цвета нажимать F9
(или обрабатывать каждое изменение положения курсора)


___________________________________

ДОБАВЛЕНО

ну вот, точно! Как чувствовал, что нечего мне лезть со своими советами...
пошёл по ссылкам, там надстройка Summ_CellColor, решающая эту задачу...

Последний раз редактировалось Serge_Bliznykov; 27.04.2010 в 16:50.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.04.2010, 19:56   #4
L777SU
Новичок
Джуниор
 
Регистрация: 08.11.2009
Сообщений: 2
По умолчанию

Большое спасибо!
L777SU вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование из одинаковых ячеек maksvas Microsoft Office Excel 30 17.05.2011 18:03
Суммирование непустых ячеек Alex19789 Microsoft Office Excel 9 11.01.2010 19:39
Выборочное суммирование ячеек pavel.ignatenko Microsoft Office Excel 8 01.11.2009 19:02
суммирование ячеек =) peq Microsoft Office Excel 3 08.05.2009 13:24
Суммирование ячеек с флажками 69angel69 Microsoft Office Excel 2 04.03.2008 18:23