Подтвердить что ты не робот

Перерыв управления не работает в 2010 (2013) Excel VBA

Я пишу код и (насколько это сложно поверить многим), иногда закручивая, создавая бесконечный цикл. С моим новым причудливым Excel, Ctrl + Break больше не работает. Кроме того, клавиша Esc и т.д. Я смотрел по всему Интернету, и похоже, что у Microsoft есть ошибка и она не хочет ее исправлять.

Кто-нибудь знает способ перевести функцию Ctrl + Break в VBA, так что если это произойдет в будущем, я не потеряю работу/силу? Спасибо!

4b9b3361

Ответ 1

Alt + Esc. Удерживайте клавиши, пока они не сломаются.

Из Windows 7 on это будет проходить через все открытые окна. Не обращайте внимания, просто продолжайте сжимать его.

Ответ 2

Одним из способов смягчения этого очень неприятного поведения является включение

DoEvents

В цикле. Его не нужно выполнять каждую итерацию, если она вызывается периодически, Ctrl Break все равно будет работать.

Примечание. Обычно я удаляю это после отладки кода, чтобы избежать влияния производительности.

Ответ 3

В Office 2013, по крайней мере, Ctrl + Scroll Lock делает это. Мне не нужно было изменять какие-либо настройки или активировать что-либо.

(Blatant plug: мой пост в блоге, ссылаясь на исходный источник этой информации:))

Ответ 4

Альтернатива будет преднамеренно вводить ошибку в цикле. Скажем, например, ваш цикл не должен работать более 1000 раз:

Function XYZ()
do while(..)
errcnt = errcnt + 1

if errcnt > 1000 then
  cells.find(what:="Chunk Norris").activate
exit function
endif

loop
end function

он выдает ошибку и "прерывает" код

Ответ 5

Если это может помочь кому угодно, нажав Ctrl + break, когда макрос не работает, работает, только если вы сделаете это за пределами разработчика.