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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос реагирующий на ошибку. (Макросы/Sub)
Макрос реагирующий на ошибку.
RipVanWinkel Дата: Воскресенье, 14.05.2017, 15:19 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 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 (61.5 Kb)
 
Ответить
СообщениеЗдравствуйте. Помогите решить вопрос.

В книге есть два макроса - вызывающих ошибку. Выглядят они так:
[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
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 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]
 
Ответить
Сообщение[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
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

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


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
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
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

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


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

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

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

Автор - RipVanWinkel
Дата добавления - 14.05.2017 в 19:37
RAN Дата: Воскресенье, 14.05.2017, 19:51 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 516
Репутация: 97 ±
Замечаний: 0% ±

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

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

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

Автор - wild_pig
Дата добавления - 14.05.2017 в 19:58
al-Ex Дата: Воскресенье, 14.05.2017, 20:37 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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