Почему Msgbox / Inputbox работает так медленно, и почему включение Screenupdating в True может решить эту проблему? - PullRequest
0 голосов
/ 24 июня 2019

Как указано в заголовке, я уже знаю решение проблемы.

Дело в том, что я на самом деле не знаю, почему это работает.

Иногда, когда Msgbox / Inputbox всплывает во время работы макроса, он работает очень медленно, и приложение может даже перестать отвечать.

Однако после того, как я вставлю строку Application.Screenupdating = True перед строкой Msgbox / Inputbox и Application.Screenupdating = False после нее, проблема просто будет решена.

Может кто-нибудь подсказать мне, почему это работает? Большое спасибо!

1 Ответ

0 голосов
/ 24 июня 2019

Как и в комментариях BruceWayne, поля ввода и сообщения требуют ввода от пользователя, либо ввода в текстовое поле, либо нажатия кнопки в поле.При отключении обновления экрана приложение Excel не будет отображать никаких изменений на экране.Из-за этого пользовательский ввод не может быть введен, и, таким образом, код бездействует, пока Excel не выходит из себя и не падает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...