Как создать функцию, которая сможет возвращать нужное значение ошибки?

Для того, чтобы Ваша функция, при необходимости, могла возвращать нужное значение ошибки, следует использовать функцию CVErr(). К примеру, следующая функция =MyFunction(1000;0) будет возвращать #ДЕЛ/0! , в случае, когда делитель равен 0.

code: #vba
Function MyFunction(A#, B#) 'As Variant
    If B <> 0 Then
       MyFunction = A / B ' A \ B
    Else
       MyFunction = CVErr(xlErrDiv0)
    End If
End Function

Вполне естественно, что кроме деления на нуль, Вам могут понадобиться и другие ошибки, поэтому перечень прилагается:

Константа          Значение               Ошибка
xlErrDiv0          2007 (&H7D7)           #ДЕЛ/0!
xlErrNA            2042 (&H7FA)           #Н/Д
xlErrName          2029 (&H7ED)           #ИМЯ?
xlErrNull          2000 (&H7D0)           #ПУСТО!
xlErrNum           2036 (&H7F4)           #ЧИСЛО!
xlErrRef           2023 (&H7E7)           #ССЫЛКА!
xlErrValue         2015 (&H7DF)           #ЗНАЧ!
Поделиться:

Похожие статьи: