В модуле функция из здесь [vba]Код
#If VBA7 <> 1 Then
Function ЕСЛИОШИБКА(ByVal проверяемое_значение As Variant, ByVal значение_если_ошибка As Variant) As Variant
Dim i As Long, j As Long
If IsArray(проверяемое_значение) Then
On Error Resume Next
j = UBound(проверяемое_значение, 2)
If Err Then
Err.Clear
For i = 1 To UBound(проверяемое_значение)
If IsError(проверяемое_значение(i)) Then проверяемое_значение(i) = значение_если_ошибка
Next
Else
For i = 1 To UBound(проверяемое_значение)
For j = 1 To UBound(проверяемое_значение, 2)
If IsError(проверяемое_значение(i, j)) Then проверяемое_значение(i, j) = значение_если_ошибка
Next
Next
End If
Else
If IsError(проверяемое_значение) Then проверяемое_значение = значение_если_ошибка
End If
ЕСЛИОШИБКА = проверяемое_значение
End Function
#End If
[/vba]
+ xlm функция-обертка _xlfn.IFERROR на листе макросов
[vba]Код
=АРГУМЕНТ("a";95)*АРГУМЕНТ("b";95)*РЕЗУЛЬТ(95)
=ВОЗВРАТ(ВЫЧИСЛИТЬ("еслиошибка(a;b)"))
[/vba]