![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 02.04.2007
Сообщений: 3
|
![]()
Необходимо суммировать и подсчитывать ячейки в зависимости от цвета заливки, прописала макрос:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If Sum = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.Sum(rCell) + vResult End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function Ввожу = ColorFunction(C1; A1:A16) выдает ошибку #ИМЯ! Подскажите, пожалуйста, что не так. Спасибо заранее. |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
С пользовательской функцией всё в порядке, а проблема, по всей видимости, кроется в том, что у Вас установлен высокий уровень безопасности (меню Сервис - пункт Макрос - команда Безопасность - закладка Уровень безопасности)
Если это так, то установите переключатель в положение Средняя и если при следущем открытии своей рабочей книги - Вы не отключите макросы, то вышеопубликованная функция возвратит нужный результат (хотя, если к нужным ячейкам было применено условное форматирование, то результат вычисления подобных функций может отличаться от ожидаемого) |
![]() |
![]() |
#3 |
Регистрация: 02.04.2007
Сообщений: 3
|
![]()
Да в том то и дело, что и уровень безопасности проверяла - стоит средний. Я на пробном файле тестировала, функция работала, затем применила в рабочем файле, где к ячейка было применено условное форматирование, выдало ошибку и все, функция перестала работать даже во вновь созданных книгах, где нет условного форматирования.
|
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Использование условного форматирования может привести к тому, что пользовательская функция возвратит "некорректное" значение (см. аттач) Однако, условное форматирование не должно вызывать значения ошибки #ИМЯ? у функций, т.к. эти вещи не взаимосвязаны (даже несмотря на то, что у.ф. может использовать результаты вычислений функций, в т.ч. и пользовательских)
В общем, предлагаю скачать нижеопубликованный пример и открыть рабочую книгу, обязательно разрешив выполнение макросов (кнопка Не отключать макросы) А если подобное безобразие(#ИМЯ?) будет наблюдаться и в дальнейшем, то имеет смысл проверить: возможно ли выполнение других макросов. |
![]() |
![]() |
#5 |
Регистрация: 02.04.2007
Сообщений: 3
|
![]()
Ура! Заработалоооо!
Спасибо огромное за соучастие ![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
![]()
Все работает только функция не пересчитывает значения после добавления нового значения (исменеия цвета на нужный ячейки в диапазоне)
|
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Вышеопубликованная UDF будет пересчитываться после каждого изменения значения (в т.ч. и добавления) в любой из ячеек указанного диапазона (при условии, что установлен автоматический режим пересчёта)
А что касается изменение параметров форматирования (в т.ч. цвета заливки), то есть несколько способов добиться пересчёта пользовательской функции, после их изменения, и с ними можно ознакомится на сайте автора этой функции (ссылка есть в примере) |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
![]()
Не вижу ссылки в примере...
Киньте в форум если не трудно |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
А я довольно отчётливо вижу, что ссылка там наличествует, причём, именно там, где по замыслу автора, ей и положено быть.
Sums or counts cells based on a specified fill color. |
![]() |
![]() |
#10 |
Регистрация: 29.01.2009
Сообщений: 3
|
![]()
Спасибо всё работает!!!
))) |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разный цвет фона в таблице (php) | Lonix | PHP | 2 | 04.10.2008 21:39 |
Суммирование определенных ячеек при переносе | Pilot | Microsoft Office Excel | 5 | 17.07.2008 12:46 |
Суммирование ячеек с флажками | 69angel69 | Microsoft Office Excel | 2 | 04.03.2008 18:23 |
Суммирование ячеек с заданным шагом | valerij | Microsoft Office Excel | 10 | 10.10.2007 00:22 |
Стили ячеек. Цвет фона, шрифт: размер, начертание .. | Virtson | Microsoft Office Excel | 3 | 10.03.2007 16:19 |