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

Вход

Регистрация

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

 

= Мир MS Excel/Написать функцию ЕСЛИOШИБКА для Excel 2003 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Написать функцию ЕСЛИOШИБКА для Excel 2003
vzdorny Дата: Воскресенье, 28.07.2019, 14:35 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте!
Задумал я для Excel 2003 написать функцию ЕСЛИОШИБКА,
(которая имеется в 2007 и выше):
[vba]
Код
Function ЕСЛИОШИБКА(проверяемое_значение As Variant, значение_если_ошибка As Variant)
If ActiveCell.FormulaR1C1 = "=ISERROR(проверяемое_значение)" = True Then
    ЕСЛИОШИБКА = Application.Transpose(значение_если_ошибка)
    Else: ЕСЛИОШИБКА = Application.Transpose(проверяемое_значение)
End If
End Function
[/vba]

Пишу для проверки
Код
=ЕСЛИОШИБКА(1/0;99)
и вижу #ДЕЛ/0!

На всякий случай пытаюсь написать наоборот
[vba]
Код
Function ЕСЛИОШИБКА(проверяемое_значение As Variant, значение_если_ошибка As Variant)
If ActiveCell.FormulaR1C1 = "=ISERROR(проверяемое_значение)" = False Then
    ЕСЛИОШИБКА = Application.Transpose(проверяемое_значение)
    Else: ЕСЛИОШИБКА = Application.Transpose(значение_если_ошибка)
End If
End Function
[/vba]
ничего не меняется

В чём тут может быть дело?
Спасибо!
P.S. Если это увидят модераторы, то переименуйте пожалуйста мою тему в ЕСЛИОШИБКА-2003


Сообщение отредактировал vzdorny - Воскресенье, 28.07.2019, 14:40
 
Ответить
СообщениеЗдравствуйте!
Задумал я для Excel 2003 написать функцию ЕСЛИОШИБКА,
(которая имеется в 2007 и выше):
[vba]
Код
Function ЕСЛИОШИБКА(проверяемое_значение As Variant, значение_если_ошибка As Variant)
If ActiveCell.FormulaR1C1 = "=ISERROR(проверяемое_значение)" = True Then
    ЕСЛИОШИБКА = Application.Transpose(значение_если_ошибка)
    Else: ЕСЛИОШИБКА = Application.Transpose(проверяемое_значение)
End If
End Function
[/vba]

Пишу для проверки
Код
=ЕСЛИОШИБКА(1/0;99)
и вижу #ДЕЛ/0!

На всякий случай пытаюсь написать наоборот
[vba]
Код
Function ЕСЛИОШИБКА(проверяемое_значение As Variant, значение_если_ошибка As Variant)
If ActiveCell.FormulaR1C1 = "=ISERROR(проверяемое_значение)" = False Then
    ЕСЛИОШИБКА = Application.Transpose(проверяемое_значение)
    Else: ЕСЛИОШИБКА = Application.Transpose(значение_если_ошибка)
End If
End Function
[/vba]
ничего не меняется

В чём тут может быть дело?
Спасибо!
P.S. Если это увидят модераторы, то переименуйте пожалуйста мою тему в ЕСЛИОШИБКА-2003

Автор - vzdorny
Дата добавления - 28.07.2019 в 14:35
_Boroda_ Дата: Понедельник, 29.07.2019, 00:26 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Если это увидят модераторы, то переименуйте пожалуйста мою тему в ЕСЛИОШИБКА-2003

Если это увидят модераторы, то они скажут Вам прочитать Правила форума и исправить название согласно п.2 Правил.
И удалят все ответы


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Если это увидят модераторы, то переименуйте пожалуйста мою тему в ЕСЛИОШИБКА-2003

Если это увидят модераторы, то они скажут Вам прочитать Правила форума и исправить название согласно п.2 Правил.
И удалят все ответы

Автор - _Boroda_
Дата добавления - 29.07.2019 в 00:26
vzdorny Дата: Понедельник, 29.07.2019, 20:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Прошу прощения, в момент создания темы
мне показалось, что это название отражает суть вопроса,
а сейчас возможность редактирования уже отсутствует


Сообщение отредактировал vzdorny - Понедельник, 29.07.2019, 20:56
 
Ответить
СообщениеПрошу прощения, в момент создания темы
мне показалось, что это название отражает суть вопроса,
а сейчас возможность редактирования уже отсутствует

Автор - vzdorny
Дата добавления - 29.07.2019 в 20:56
_Boroda_ Дата: Понедельник, 29.07.2019, 21:19 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Поменял. И формулу в теги засунул

Такой вариант
[vba]
Код
Function ЕСЛИОШИБКА1(проверяемое_значение As Variant, значение_если_ошибка As Variant)
    ЕСЛИОШИБКА1 = проверяемое_значение
    If IsError(ЕСЛИОШИБКА1) Then ЕСЛИОШИБКА1 = значение_если_ошибка
End Function
[/vba]
К сообщению приложен файл: 768171687.xls (17.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПоменял. И формулу в теги засунул

Такой вариант
[vba]
Код
Function ЕСЛИОШИБКА1(проверяемое_значение As Variant, значение_если_ошибка As Variant)
    ЕСЛИОШИБКА1 = проверяемое_значение
    If IsError(ЕСЛИОШИБКА1) Then ЕСЛИОШИБКА1 = значение_если_ошибка
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 29.07.2019 в 21:19
bmv98rus Дата: Понедельник, 29.07.2019, 22:56 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Для массивных операций, что-то в голову упростить ничего не лезет.

Так наверно правильнее


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 30.07.2019, 12:44
 
Ответить
СообщениеДля массивных операций, что-то в голову упростить ничего не лезет.

Так наверно правильнее

Автор - bmv98rus
Дата добавления - 29.07.2019 в 22:56
vzdorny Дата: Четверг, 01.08.2019, 23:08 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо!
 
Ответить
СообщениеСпасибо!

Автор - vzdorny
Дата добавления - 01.08.2019 в 23:08
  • Страница 1 из 1
  • 1
Поиск:

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