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

Excel VBA прерывание выполнения, когда на клавиатуре нет клавиши прерывания

Я просто замечаю, что на моем ноутбуке (Dell XPS 15z) нет клавиши BREAK (нет выделенной цифровой клавиатуры). Я запускаю отладчик пошагово, а затем, когда все кажется в порядке, я просто позволяю ему поиграть. Тем не менее, он работает в бесконечном цикле, и теперь я понимаю, что нет способа остановить его без клавиши прерывания !!!!

Это плохая шутка? Я должен был перезагрузить компьютер; есть ли более изящный способ??

Благодарю.

4b9b3361

Ответ 1

просто нажмите клавишу эвакуации дважды; -)

Ответ 2

Решение № 1 (работает большую часть времени): когда на клавиатуре отсутствуют определенные клавиши (Pause, Break или ScrLk)), а нажатие Esc 2, 3 или несколько раз не останавливает макрос тоже.

Шаг # 01: Если на вашей клавиатуре нет определенной клавиши, не беспокойтесь и откройте "Экранную клавиатуру" из Windows Utilities, нажав Win + U.

Шаг № 02: Теперь попробуйте любой из приведенных ниже вариантов, и они определенно будут работать в зависимости от архитектуры вашей системы, то есть ОС и версии Office.

  • Ctrl + Pause
  • Ctrl + ScrLk
  • Esc + Esc (нажмите два раза подряд)

Вы будете переведены в режим прерывания с использованием вышеуказанных комбинаций клавиш, поскольку макрос приостанавливает выполнение, немедленно завершая текущую задачу. Например, если он извлекает данные из Интернета, он немедленно останавливается перед выполнением любой следующей команды, но после извлечения данных, после чего можно нажать F5 или F8, чтобы продолжить отладку.


Если решение № 1 не работает или вам нужно постоянное решение, попробуйте добавить новый ключ в реестр. (Я запускаю обновление Win 10 Creators на ноутбуке Dell 3530 Inspiron)

Отказ от ответственности: вносите изменения в реестр Windows только на свой страх и риск, и это целесообразно только в том случае, если вы являетесь администратором Windows или имеете опыт изменения значений ключей в реестре.

Вы также можете найти решение № 2, в котором используется клавиатура специальных возможностей Win + U

Решение № 2: 1) Нажмите START, затем введите REGEDIT в поле поиска. Это запустит редактор реестра.

2) Изучите реестр, развернув каждый элемент HKEY_LOCAL_MACHINE -SYSTEM -Current Control Set - Control - раскладка клавиатуры

Нажмите на карту Scancode Map и отредактируйте значения клавиш, чтобы они соответствовали приведенным ниже. т.е. иметь значения: 00,00,00,00,00,00,00,00,02,00,00,00,46, e0,44,00,00,00,00,00

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

Чтобы понять это подробно и настроить его в соответствии с вашими потребностями, пожалуйста, перейдите по этой ссылке: KeyBoard Scancodes

Ответ 3

Несмотря на то, что это старый вопрос, я только что столкнулся с той же проблемой и обнаружил, что Ctrl+Scroll lock работает как разрыв.

"Замок прокрутки" можно получить на моем ноутбуке DELL через синюю функциональную клавишу "Fn" и клавишу "F6", на которой на ней есть маленький синий символ блокировки с символом ⇳ в нем. На других компьютерах это может выглядеть как ⤓. Поэтому я нажимаю Ctrl + Fn + F6.

Ответ 4

У меня Dell Precision без ключа Pause/Break, но есть замена для этого: Fn + B, поэтому:

- Fn + B == Pause (приостановить выполнение);
- Ctrl + Fn + B == Break (прерывание выполнения);
- Win + Fn + B == Windows + Pause (открыть свойства системы).

Вы можете выполнить команду:

dir /s C:\

и проверьте комбинацию клавиш Pause и Break, пока dir перечисляет все файлы на диске C.

ссылка

Ответ 5

На моем Dell по крайней мере: ctrl + alt + esc ПЕРЕД курсором начинает сам цикл

Я получил эту информацию от aidangrogan на этом сайте:

http://en.community.dell.com/support-forums/laptop/f/3518/t/19355018

Поэтому я не утверждаю, что нашел его сам. Все кредиты ему (или ей)

Ответ 6

Ни один из приведенных выше ответов не работает для меня.

Я сделал, как когда - нибудь это, она не совершенно, так как вы должны держать ALT нажата, а затем через клавишу дважды. Кроме того, это зависело от того, на каком языке установлен ваш Excel.

В английском Excel вы бы использовали ALT + R + R на немецком языке, вам нужно использовать ALT + U + R

Ответ 7

Удерживайте CTRL + Fn и нажмите Shift - мой макрос не запустился. У меня нет клавиши "Break" на клавиатуре моего HP Pavilion G7.

Ответ 8

У меня есть японская раскладка клавиатуры. У меня нет ни блокировки прокрутки, ни перерыва на моем ноутбуке - Lenovo E470. Долгое нажатие на клавишу Esc работало для меня как терминатор.

Ответ 9

Ctrl + Fn + B работает для Excel 365 (Office 365) на моем Dell Latitude 5480 (без клавиши Break).

Ответ 10

Я нашел способ обойти это, открыл еще один экземпляр Excel и другую электронную таблицу, затем открыл редактор VBA оттуда, и он показал, что "работает", поэтому я мог нажать кнопку остановки

Ответ 11

Я нашел эту ветку и увидел решение, которое набрало наибольшее количество голосов, но потом понял, что на моем ноутбуке нет клавиш Pause, Break или ScrLk). Я пробовал другие предложенные решения, такие как "Экранная клавиатура" или альтернативные комбинации клавиш, но они тоже не работали.

Затем меня поразило: если это фантомная точка разрыва, связанная с определенной строкой (-ями) кода, почему бы просто не избавиться от этой (-ых) строки (-ей)?

Итак, что я сделал:

  1. Я обрезал линию (-и), где исполнение нарушалось.
  2. Запустил макрос снова (на этот раз он не сломался)
  3. Вставил строки снова.

Это сработало для меня, когда никакая другая комбинация клавиш (экранная или физическая) не работала. Надеюсь, это поможет кому-то!

Ответ 12

У меня есть ноутбук HP, и это работает, когда я хочу сломать после msgbox, удерживая fn + ctrl и нажать правую клавишу Shift (также имеет паузу), затем ответить на msgbox и код сломается.