#excel #vba #debugging
#превосходить #vba #отладка
Вопрос:
Чтобы ускорить макросы, имеет смысл отключить обновление экрана с Application.ScreenUpdating = False
помощью . Однако это значительно усложняет отладку. Я знаю, что могу вручную установить Application.ScreenUpdating = True
в окне «Немедленно», но мне интересно, есть ли какой-либо способ определить, что код шагает, и отключить каждый экземпляр Application.ScreenUpdating = False
.
У меня есть внутренняя переменная под названием StepCode, которая останавливает код в определенных точках, но мне интересно, есть ли лучший способ…?
Комментарии:
1. Честно говоря, это похоже на проблему XY. Я бы не стал использовать экран для отладки, я бы использовал часы
Debug.Print
илиDebug.Assert
точки останова и т. Д.2. Иногда я использую константу
DBUG = False or True
для включения/выключения строк debug.print. Вы могли быApplication.ScreenUpdating = DBUG
вместоApplication.ScreenUpdating = False