Как я могу сохранить Excel от "Не отвечает" при запуске макроса refre sh? - PullRequest
0 голосов
/ 13 января 2020

enter image description here В ходе исследований казалось, что все, что мне нужно было сделать, это использовать это? Но мой экран все еще глючит при обновлении. Я просто хочу, чтобы экран не менялся или вообще ничего не делал при запуске этого макроса.

Application.ScreenUpdating = False

Вот лишь небольшой фрагмент моего кода, который запускается в этом макросе для справки:

Sub Refresh_Data()

Box.Show

Application.Cursor = xlWait
Application.ScreenUpdating = False

Workbooks("IOM Denial.xlsm").RefreshAll
Workbooks("IOM Denial.xlsm").Worksheets("Home").Activate

Application.Cursor = xlDefault
Application.ScreenUpdating = True

Unload Box

End Sub

1 Ответ

0 голосов
/ 13 января 2020

Вы показываете окно в модальной форме, Excel ждет от вас ответа, прежде чем продолжить дальше Box.Show. Если вы закроете Box, используя маленький крестик, ваш код должен продолжать работать.

Вы можете исправить это в своем коде, изменив строку на

Box.Show False '<-- runs non-modal

Информация от Microsfot здесь: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/showmodal-property

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