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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2011, 08:42   #1
kaa1977
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 39
По умолчанию ошибки AverageIf и Sum

Подскажите, пожалуйста.
Формулой выполнить рассчёт получается, но надо на VBA.

Необходимо рассчитать среднее диапазона, но при условии, что значение не нулевое. С помощью формулы это сделать удалось. Если все значения равны нулю СРЗНАЧЕСЛИ выдаёт ошибку, поэтому дополнительно использую ЕСЛИОШИБКА.
=ЕСЛИОШИБКА(СРЗНАЧЕСЛИ(B15:B19;"<>0 ");"0")

Но реализовать тоже самое в VBA не получается. Если все значения равны нулю выдаёт ошибку о невозможности рассчитать AverageIf. Но почему эту ошибку не перехватывает IfError???

Cells(21, 2) = WorksheetFunction.IfError(Worksheet Function.AverageIf(Range(Cells(15, 2), Cells(19, 2)), "<>0"), "0")


Тоже самое для суммы, формула работает, код VBA - нет...

=ЕСЛИОШИБКА(СУММ(B15:B19);"???")

Cells(20, 2) = WorksheetFunction.IfError(Worksheet Function.Sum(Range(Cells(15, 2), Cells(19, 2))), "???")
kaa1977 вне форума Ответить с цитированием
Старый 01.04.2011, 09:43   #2
kaa1977
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 39
По умолчанию

вышел из положения, используя On Error Resume Next

Но может, есть другой вариант??



On Error Resume Next


Cells(20, 2) = WorksheetFunction.Sum(Range(Cells(1 5, 2), Cells(19, 2)))

If (Cells(20, 2) = "") Then
Cells(20, 2) = "???"
End If


Cells(21, 2) = WorksheetFunction.AverageIf(Range(C ells(15, 2), Cells(19, 2)), "<>0")

If (Cells(21, 2) = "") Then
Cells(21, 2) = "0"
End If
kaa1977 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sum + and - Zorg 17 Microsoft Office Excel 5 27.01.2011 23:05
Проблема с запросом - Sum. Baaandit БД в Delphi 4 30.05.2010 17:04
sum для разных id shad0w SQL, базы данных 3 09.04.2010 01:26
SUM? Uretz Microsoft Office Access 1 12.03.2010 13:43
Проблема с функцией SUM Sneginka87 БД в Delphi 8 27.02.2010 02:34