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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос реагирующий на ошибку. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос реагирующий на ошибку. (Макросы/Sub)
Макрос реагирующий на ошибку.
RipVanWinkel Дата: Воскресенье, 14.05.2017, 15:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Помогите решить вопрос.

В книге есть два макроса - вызывающих ошибку. Выглядят они так:
[vba]
Код

Sub Макрос2()
    Err.Raise (431)
End Sub

Sub Макрос1()
    Err.Raise (438)
End Sub
[/vba]

Как должен выглядеть макрос, который бы реагировал на ошибку - добавляя 1 в желтую ячейку, при вызове ошибки 431, и 1 в красную ячейку при вызове ошибки 438 ?
К сообщению приложен файл: 2561.xls(62Kb)
 
Ответить
СообщениеЗдравствуйте. Помогите решить вопрос.

В книге есть два макроса - вызывающих ошибку. Выглядят они так:
[vba]
Код

Sub Макрос2()
    Err.Raise (431)
End Sub

Sub Макрос1()
    Err.Raise (438)
End Sub
[/vba]

Как должен выглядеть макрос, который бы реагировал на ошибку - добавляя 1 в желтую ячейку, при вызове ошибки 431, и 1 в красную ячейку при вызове ошибки 438 ?

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 15:19
Michael_S Дата: Воскресенье, 14.05.2017, 15:50 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1772
Репутация: 337 ±
Замечаний: 0% ±

Excel2016
[vba]
Код
Sub Макрос2()
    On Error Resume Next
    Err.Raise (431)
    If Err = 431 Then Cells(8, 5) = Cells(8, 5) + 1
    Err.Clear
End Sub
[/vba]

[vba]
Код
Sub Макрос1()
    On Error Resume Next
    Err.Raise (438)
    If Err = 438 Then Cells(8, 7) = Cells(8, 7) + 1
    Err.Clear
End Sub
[/vba]


ЯД: 41001136675053
WM: R389613894253
 
Ответить
Сообщение[vba]
Код
Sub Макрос2()
    On Error Resume Next
    Err.Raise (431)
    If Err = 431 Then Cells(8, 5) = Cells(8, 5) + 1
    Err.Clear
End Sub
[/vba]

[vba]
Код
Sub Макрос1()
    On Error Resume Next
    Err.Raise (438)
    If Err = 438 Then Cells(8, 7) = Cells(8, 7) + 1
    Err.Clear
End Sub
[/vba]

Автор - Michael_S
Дата добавления - 14.05.2017 в 15:50
RipVanWinkel Дата: Воскресенье, 14.05.2017, 16:07 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Michael_S, не работает.

У вас событие макроса добавки "1" - это щелчок по кнопке, а не ОКНО ОШИБКИ.
Я имел ввиду - чтобы макрос добавки "1" - реагировал бы именно на ОКНО ОШИБКИ, а не нажатие на кнопку.

То есть я это понимаю так - что макросы вызова ошибки - это отдельные макросы, а макрос реакции на ошибку - это отдельный Макрос3.
И вот этот отдельный Макрос3 - и должен реагировать на ошибку - неважно как она вызвана (в данном случае ошибки вызываются Макросом1 и Макросом2).

А вот какое СОБЫТИЕ должно вызывать Макрос3 - я не знаю (но это явно - не щелчок по кнопке).


Сообщение отредактировал RipVanWinkel - Воскресенье, 14.05.2017, 16:11
 
Ответить
СообщениеMichael_S, не работает.

У вас событие макроса добавки "1" - это щелчок по кнопке, а не ОКНО ОШИБКИ.
Я имел ввиду - чтобы макрос добавки "1" - реагировал бы именно на ОКНО ОШИБКИ, а не нажатие на кнопку.

То есть я это понимаю так - что макросы вызова ошибки - это отдельные макросы, а макрос реакции на ошибку - это отдельный Макрос3.
И вот этот отдельный Макрос3 - и должен реагировать на ошибку - неважно как она вызвана (в данном случае ошибки вызываются Макросом1 и Макросом2).

А вот какое СОБЫТИЕ должно вызывать Макрос3 - я не знаю (но это явно - не щелчок по кнопке).

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 16:07
KuklP Дата: Воскресенье, 14.05.2017, 16:40 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2111
Репутация: 453 ±
Замечаний: 0% ±

Я наверное скоро эту сентенцию в автозамену добавлю: "А давайте сразу операционную систему перепишем под Ваше видение решения. Вы уж выкладывайте задачу, а не свое мнение на форум."
Взято отсюда, но уже часто такое пишу:
http://www.excelworld.ru/forum/10-33694-1#219818


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЯ наверное скоро эту сентенцию в автозамену добавлю: "А давайте сразу операционную систему перепишем под Ваше видение решения. Вы уж выкладывайте задачу, а не свое мнение на форум."
Взято отсюда, но уже часто такое пишу:
http://www.excelworld.ru/forum/10-33694-1#219818

Автор - KuklP
Дата добавления - 14.05.2017 в 16:40
Udik Дата: Воскресенье, 14.05.2017, 16:47 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1368
Репутация: 174 ±
Замечаний: 0% ±

Excel 2016 х 64
Ну не видя кода, можно только гадать. Например, в основном макросе использовать try...catch


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеНу не видя кода, можно только гадать. Например, в основном макросе использовать try...catch

Автор - Udik
Дата добавления - 14.05.2017 в 16:47
RipVanWinkel Дата: Воскресенье, 14.05.2017, 18:25 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вы уж выкладывайте задачу, а не свое мнение на форум


Ну вообще-то я задачу еще в первом сообщении написал.
Просто потом примерно описал свое приблизительное (возможно ошибочное) видение - как ее можно решить.

Повторю задачу.
Есть два макроса Макрос1 и Макрос2 - которые запускают - окна ошибок 431 и 438.

Вопрос: как должен выглядеть Макрос3 - который бы среагировал на вызов ошибки - добавив "1" - в желтую или красную ячейки - в зависимости от вида ошибки (вида всего два - 431 и 438) ?
 
Ответить
Сообщение
Вы уж выкладывайте задачу, а не свое мнение на форум


Ну вообще-то я задачу еще в первом сообщении написал.
Просто потом примерно описал свое приблизительное (возможно ошибочное) видение - как ее можно решить.

Повторю задачу.
Есть два макроса Макрос1 и Макрос2 - которые запускают - окна ошибок 431 и 438.

Вопрос: как должен выглядеть Макрос3 - который бы среагировал на вызов ошибки - добавив "1" - в желтую или красную ячейки - в зависимости от вида ошибки (вида всего два - 431 и 438) ?

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 18:25
KuklP Дата: Воскресенье, 14.05.2017, 19:05 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2111
Репутация: 453 ±
Замечаний: 0% ±

я задачу еще в первом сообщении написал
, дружище - с глубоким удовлетворением спешу сообщить Вам, что нормальный, психически здоровый человек ни с того ни с сего вызывать ошибки в СВОИХ макросах не станет. Для чего-то же этот бред Вам нужен? Но мне уже не интересно играть с Вами в кошки-мышки, желаю удачи с более терпеливыми и настойчивыми форумчанами. ;)


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
я задачу еще в первом сообщении написал
, дружище - с глубоким удовлетворением спешу сообщить Вам, что нормальный, психически здоровый человек ни с того ни с сего вызывать ошибки в СВОИХ макросах не станет. Для чего-то же этот бред Вам нужен? Но мне уже не интересно играть с Вами в кошки-мышки, желаю удачи с более терпеливыми и настойчивыми форумчанами. ;)

Автор - KuklP
Дата добавления - 14.05.2017 в 19:05
RipVanWinkel Дата: Воскресенье, 14.05.2017, 19:37 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, в кошки-мышки играть не надо.
Достаточно ответить на вопрос из первого сообщения.
 
Ответить
СообщениеKuklP, в кошки-мышки играть не надо.
Достаточно ответить на вопрос из первого сообщения.

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 19:37
RAN Дата: Воскресенье, 14.05.2017, 19:51 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4419
Репутация: 872 ±
Замечаний: 0% ±

2010
это щелчок по кнопке, а не ОКНО ОШИБКИ

То есть я это понимаю так - что макросы вызова ошибки - это отдельные макросы, а макрос реакции на ошибку - это отдельный Макрос3

Повторю задачу.
Есть два макроса Макрос1 и Макрос2 - которые запускают - окна ошибок 431 и 438

Сколько бреда, аж волосы дыбом.
как должен выглядеть Макрос3

Он должен выглядеть хорошо.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
это щелчок по кнопке, а не ОКНО ОШИБКИ

То есть я это понимаю так - что макросы вызова ошибки - это отдельные макросы, а макрос реакции на ошибку - это отдельный Макрос3

Повторю задачу.
Есть два макроса Макрос1 и Макрос2 - которые запускают - окна ошибок 431 и 438

Сколько бреда, аж волосы дыбом.
как должен выглядеть Макрос3

Он должен выглядеть хорошо.

Автор - RAN
Дата добавления - 14.05.2017 в 19:51
wild_pig Дата: Воскресенье, 14.05.2017, 19:58 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 482
Репутация: 90 ±
Замечаний: 0% ±

2003, 2013
Достаточно ответить на вопрос из первого сообщения

Во втором сообщении уже ответили. Можно отловить ошибку при выполнении макроса, если прописать соответствующие строки. События "ошибка" нет ни в модуле книги ни в модуле листа.
 
Ответить
Сообщение
Достаточно ответить на вопрос из первого сообщения

Во втором сообщении уже ответили. Можно отловить ошибку при выполнении макроса, если прописать соответствующие строки. События "ошибка" нет ни в модуле книги ни в модуле листа.

Автор - wild_pig
Дата добавления - 14.05.2017 в 19:58
al-Ex Дата: Воскресенье, 14.05.2017, 20:37 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 168
Репутация: 57 ±
Замечаний: 0% ±

Excel 2010
Как должен выглядеть Mакрос3, который бы реагировал на ошибку...
Возможно Вам это, нужно? Примерно так:


Сообщение отредактировал al-Ex - Воскресенье, 14.05.2017, 21:50
 
Ответить
Сообщение
Как должен выглядеть Mакрос3, который бы реагировал на ошибку...
Возможно Вам это, нужно? Примерно так:

Автор - al-Ex
Дата добавления - 14.05.2017 в 20:37
RipVanWinkel Дата: Воскресенье, 14.05.2017, 21:35 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
al-Ex, ясно.
Спасибо за пример - буду изучать.
 
Ответить
Сообщениеal-Ex, ясно.
Спасибо за пример - буду изучать.

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 21:35
Michael_S Дата: Воскресенье, 14.05.2017, 21:36 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1772
Репутация: 337 ±
Замечаний: 0% ±

Excel2016
Я понимаю так, что человек (RipVanWinkel) сам пишет макросы.
Из моего примера общая суть понятна, далее делай что хошь.


ЯД: 41001136675053
WM: R389613894253
 
Ответить
СообщениеЯ понимаю так, что человек (RipVanWinkel) сам пишет макросы.
Из моего примера общая суть понятна, далее делай что хошь.

Автор - Michael_S
Дата добавления - 14.05.2017 в 21:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос реагирующий на ошибку. (Макросы/Sub)
Страница 1 из 11
Поиск:

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