Из БД создаётся таблица, где, если значений нет, ставится 0. Далее, я макросом группирую её, в качестве промежуточных итогов используя среднее значение. Посколько мне требуется среднее только ненулевых значений, я запускаю цикл с проверкой If Cells( i , 6 ) = 0 Then Cells( i , 6 ) = Empty. Если в подгруппе все значения оказываются равными 0, то после очистки ячеек формула ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1;[диапазон]) возвращает значение #ДЕЛ/0! Цикл доходит до ячейки с формулой, останавливается на строке с проверкой, и выдаётся сообщение "Type mismatch"
Как программно отследить, возвращает ли формула значение или ошибку, чтобы в случае ошибку просто очистить ячейку?
Как программно отследить, возвращает ли формула значение или ошибку, чтобы в случае ошибку просто очистить ячейку?