Как избежать бесконечного цикла в VBA / VB.NET - PullRequest
0 голосов
/ 08 марта 2019

глупый вопрос, но я не смог найти на него ответов.
К сожалению, я сделал очень постыдную ошибку, когда случайно создал бесконечный цикл.

Private Sub Textbox1_Change()
    Do While Len(Trim(Textbox1.Text)) > 4
       MsgBox "Please enter your birthyear in format of ####"
    Loop
End Sub

Поскольку я хотел заставить пользователей печатать только 4 цифры, очевидно, не понимая, что я сделал , учитывая, что невозможно закрыть MsgBox, поскольку, как только вы наберете >4 символов, он сохраняетпри создании новых MsgBox es даже после того, как вы вызвали QueryClose / OK тот, который появился.

enter image description here

Есть ли способ, которым я мог бы отменитьэто, не закрывая Excel вообще?К сожалению, я не могу даже приостановить код, указанный MsgBox, открытый в модальной форме, и не могу щелкнуть ни один из элементов редактора.

enter image description here

1 Ответ

3 голосов
/ 08 марта 2019

Просто нажмите Ctrl + Alt + Пауза / останов .

Это прервет вашу рутину.

Кнопка Pause / Break стандартно расположена над кнопкой PageUp на большинствеклавиатуры

...