Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как вернуть из функции ошибку #N/A - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как вернуть из функции ошибку #N/A (Макросы/Sub)
Как вернуть из функции ошибку #N/A
Формуляр Дата: Вторник, 19.08.2014, 10:21 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Всем ДВС!
Что-то не соображу, как заставить строковую UDF возвращать при проверке стандартное значение ошибки #N/A.
[vba]
Код
Public Function CellTextBoxValue(ByRef Target As Range) As String
      If Target.Cells.Count > 1 Then
          Error 2042
          Exit Function '>>>
      End If
End Function
[/vba]
Возвращает почему-то #VALUE. %)
К сообщению приложен файл: NA.xls (20.0 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 19.08.2014, 10:22
 
Ответить
СообщениеВсем ДВС!
Что-то не соображу, как заставить строковую UDF возвращать при проверке стандартное значение ошибки #N/A.
[vba]
Код
Public Function CellTextBoxValue(ByRef Target As Range) As String
      If Target.Cells.Count > 1 Then
          Error 2042
          Exit Function '>>>
      End If
End Function
[/vba]
Возвращает почему-то #VALUE. %)

Автор - Формуляр
Дата добавления - 19.08.2014 в 10:21
Hugo Дата: Вторник, 19.08.2014, 10:46 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
[vba]
Код
Public Function CellTextBoxValue(ByRef Target As Range)
     If Target.Cells.Count > 1 Then
         CellTextBoxValue = CVErr(xlErrNA)
         Exit Function    '>>>
     End If
End Function
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение[vba]
Код
Public Function CellTextBoxValue(ByRef Target As Range)
     If Target.Cells.Count > 1 Then
         CellTextBoxValue = CVErr(xlErrNA)
         Exit Function    '>>>
     End If
End Function
[/vba]

Автор - Hugo
Дата добавления - 19.08.2014 в 10:46
Rioran Дата: Вторник, 19.08.2014, 10:47 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Формуляр, привет.

Есть в VBA такая функция CVErr, которая может возвращать значение, которое эксель распознаёт как нужную ошибку. Например, если в следующую функцию ввести число меньше ноля, то получим нужное тебе NA:

[vba]
Код
Function Test(D As Double) As Variant
     If D < 0 Then
         Test = CVErr(xlErrNA)
     Else
         Test = D * 10
     End If
End Function
[/vba]
У этой функции есть и другие аргументы для возврата других ошибок:

xlErrDiv0 (= 2007) даст #DIV/0! ошибку.
xlErrNA (= 2042) даст #N/A ошибку.
xlErrName (= 2029) даст #NAME? ошибку.
xlErrNull (= 2000) даст #NULL! ошибку.
xlErrNum (= 2036) даст #NUM! ошибку.
xlErrRef (= 2023) даст #REF! ошибку.
xlErrValue (= 2015) даст #VALUE! ошибку.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеФормуляр, привет.

Есть в VBA такая функция CVErr, которая может возвращать значение, которое эксель распознаёт как нужную ошибку. Например, если в следующую функцию ввести число меньше ноля, то получим нужное тебе NA:

[vba]
Код
Function Test(D As Double) As Variant
     If D < 0 Then
         Test = CVErr(xlErrNA)
     Else
         Test = D * 10
     End If
End Function
[/vba]
У этой функции есть и другие аргументы для возврата других ошибок:

xlErrDiv0 (= 2007) даст #DIV/0! ошибку.
xlErrNA (= 2042) даст #N/A ошибку.
xlErrName (= 2029) даст #NAME? ошибку.
xlErrNull (= 2000) даст #NULL! ошибку.
xlErrNum (= 2036) даст #NUM! ошибку.
xlErrRef (= 2023) даст #REF! ошибку.
xlErrValue (= 2015) даст #VALUE! ошибку.

Автор - Rioran
Дата добавления - 19.08.2014 в 10:47
Формуляр Дата: Вторник, 19.08.2014, 11:11 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Получилось!
Спасибо всех!


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеПолучилось!
Спасибо всех!

Автор - Формуляр
Дата добавления - 19.08.2014 в 11:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как вернуть из функции ошибку #N/A (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!