Как автоматически остановить макрос VBA?
Я знаю, что вы можете вручную остановить работающий макрос VBA сCtrl+Перерыв, но есть ли способ автоматически остановить выполнение кода при соблюдении определенного условия?exit function
/ exit sub
не работают, потому что они только завершают метод, который они вызывают внутри.
Например,
sub a
call b
msgbox "a complete"
end sub
sub b
call c
msgbox "b complete" 'this msgbox will still show after the `exit sub` in 'c'
end sub
sub c
msgbox "entering c"
exit sub 'this will only `exit sub` 'c', but not 'a' or 'b'
msgbox "exiting c"
end sub
'OUTPUT:
'entering c
'b complete
'a complete
Я полагаю, я мог бы повернуть этиsub
вfunction
и использовать коды возврата, чтобы узнать, успешно ли выполнен метод, но есть ли более простой способ сделать это?