Я пишу некоторые функции vba. В частности, я переписываю VLOOKUP... В этом MY_VLOOKUP у меня есть две логические переменные: 1. error_range, это правда, если диапазон, переданный в аргументах формулы, недействителен 2. not_ava, это правда, если нет результата ( результатом ВПР будет #Н/Д)
В разделе обработчика ошибок я написал
Errorhandler:
If error_range Then error_cat = xlErrRef
If not_ava Then error_cat = xlErrNA
Err.Raise error_cat
но я получаю ошибку "#ЗНАЧ" в ячейке. При отладке я понял, что err.raise не работает и генерирует эту ошибку «#VALUE». Как я могу получить ошибку «#N/D» или «#REF» в ячейке?