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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.04.2007, 13:03   #1
Arina
 
Регистрация: 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)
выдает ошибку #ИМЯ!
Подскажите, пожалуйста, что не так.
Спасибо заранее.
Arina вне форума
Старый 02.04.2007, 13:40   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

С пользовательской функцией всё в порядке, а проблема, по всей видимости, кроется в том, что у Вас установлен высокий уровень безопасности (меню Сервис - пункт Макрос - команда Безопасность - закладка Уровень безопасности)
Если это так, то установите переключатель в положение Средняя и если при следущем открытии своей рабочей книги - Вы не отключите макросы, то вышеопубликованная функция возвратит нужный результат (хотя, если к нужным ячейкам было применено условное форматирование, то результат вычисления подобных функций может отличаться от ожидаемого)
pashulka вне форума
Старый 03.04.2007, 02:19   #3
Arina
 
Регистрация: 02.04.2007
Сообщений: 3
По умолчанию

Да в том то и дело, что и уровень безопасности проверяла - стоит средний. Я на пробном файле тестировала, функция работала, затем применила в рабочем файле, где к ячейка было применено условное форматирование, выдало ошибку и все, функция перестала работать даже во вновь созданных книгах, где нет условного форматирования.
Arina вне форума
Старый 03.04.2007, 13:04   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Использование условного форматирования может привести к тому, что пользовательская функция возвратит "некорректное" значение (см. аттач) Однако, условное форматирование не должно вызывать значения ошибки #ИМЯ? у функций, т.к. эти вещи не взаимосвязаны (даже несмотря на то, что у.ф. может использовать результаты вычислений функций, в т.ч. и пользовательских)

В общем, предлагаю скачать нижеопубликованный пример и открыть рабочую книгу, обязательно разрешив выполнение макросов (кнопка Не отключать макросы) А если подобное безобразие(#ИМЯ?) будет наблюдаться и в дальнейшем, то имеет смысл проверить: возможно ли выполнение других макросов.
Вложения
Тип файла: zip ColorFunction (for Arina).zip (6.8 Кб, 341 просмотров)
pashulka вне форума
Старый 04.04.2007, 03:01   #5
Arina
 
Регистрация: 02.04.2007
Сообщений: 3
По умолчанию

Ура! Заработалоооо!
Спасибо огромное за соучастие
Arina вне форума
Старый 16.04.2007, 19:04   #6
Superturisto
Новичок
Джуниор
 
Регистрация: 16.04.2007
Сообщений: 2
По умолчанию

Все работает только функция не пересчитывает значения после добавления нового значения (исменеия цвета на нужный ячейки в диапазоне)
Superturisto вне форума
Старый 17.04.2007, 16:06   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Вышеопубликованная UDF будет пересчитываться после каждого изменения значения (в т.ч. и добавления) в любой из ячеек указанного диапазона (при условии, что установлен автоматический режим пересчёта)
А что касается изменение параметров форматирования (в т.ч. цвета заливки), то есть несколько способов добиться пересчёта пользовательской функции, после их изменения, и с ними можно ознакомится на сайте автора этой функции (ссылка есть в примере)
pashulka вне форума
Старый 17.04.2007, 18:20   #8
Superturisto
Новичок
Джуниор
 
Регистрация: 16.04.2007
Сообщений: 2
По умолчанию

Не вижу ссылки в примере...
Киньте в форум если не трудно
Superturisto вне форума
Старый 18.04.2007, 01:34   #9
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

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

Sums or counts cells based on a specified fill color.
pashulka вне форума
Старый 29.01.2009, 09:30   #10
fantastik
 
Регистрация: 29.01.2009
Сообщений: 3
По умолчанию

Спасибо всё работает!!!
)))
fantastik вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разный цвет фона в таблице (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