当键盘上没有中断键时,excel VBA中断执行

时间:2012-04-11 21:45:34

标签: excel vba excel-vba keyboard

我只是注意到我的笔记本电脑(Dell XPS 15z)上没有BREAK键(没有专用的数字键盘)。我正在逐步运行调试器,然后当一切看起来都很好时,我就让它发挥出来。然而,它正在无限循环中运行,现在我意识到没有休息键就没有办法阻止它!!!!

这是一个糟糕的笑话吗?我不得不重启电脑;有更优雅的方式吗?

感谢。

13 个答案:

答案 0 :(得分:15)

只需按两次退出键; - )

答案 1 :(得分:5)

解决方案#1(大部分时间都有效): 当键盘上缺少某些特定键( Pause Break ScrLk)并按 Esc 2,3时或多次也不会停止宏。

步骤#01 :如果您的键盘没有特定的按键,请不要担心并打开屏幕键盘'从Windows实用工具中按 Win + U

步骤#02 :现在,尝试以下任何选项,根据您的系统架构,操作系统和Office版本,它们肯定会有效

  • Ctrl + 暂停
  • Ctrl + ScrLk
  • Esc + Esc (连续按两次)

使用上述组合键将进入中断模式,因为宏暂停执行,立即完成当前任务。例如。如果是从网络中提取数据,那么它会在执行任何下一个命令之前立即停止但是在拉动数据之后,可以按 F5 F8 继续调试。

当解决方案#1不起作用或您需要永久解决方案时,请尝试向注册表添加新的KEY。 (我正在戴尔3530 Inspiron笔记本电脑上运行Win 10 Creators Update)

免责声明 :请仅对Windows注册表进行更改,风险自负,仅在您是Windows管理员或具有更改键值的经验时才建议在注册表中。

您还可以查找使用辅助功能键盘的解决方案#2 赢取 + U

解决方案#2: 1)单击START,然后在搜索框中键入REGEDIT。这将启动注册表编辑器。

2)探索注册表,扩展每个元素 HKEY_LOCAL_MACHINE  -系统     - 电流控制组       - 控制             - 键盘布局

单击扫描码映射,然后编辑键值以匹配下面显示的值。 即具有以下值:00,00,00,00,00,00,00,00,02,00,00,00,46,e0,44,00,00,00,00,00

完成后,您需要重新启动笔记本电脑,但之后,您可以将其用作暂停/中断键。

要详细了解并根据您的需求进行自定义,请参阅此链接:KeyBoard Scancodes

答案 2 :(得分:4)

尽管这是一个老问题,但我刚遇到同样的问题并发现Ctrl+Scroll lock可以作为休息时间。

"滚动锁定"可以通过蓝色功能键在我的DELL笔记本电脑上访问" Fn"和" F6"键上有一个小的蓝色锁符号,上面有一个⇳符号。在其他计算机上它可能看起来像⤓。所以我有效地按下Ctrl + Fn + F6。

答案 3 :(得分:2)

我有一个没有暂停/中断键的Dell Precision,但是有一个替代品: Fn + B ,所以:

 - Fn + B == 暂停(暂停执行);
 - Ctrl + Fn + B == 中断(中断执行);
 - Win + Fn + B == Windows + 暂停(打开系统属性)。

您可以执行以下命令:

dir /s C:\

并在目录列出驱动器C中的所有文件时测试“暂停”和“中断”组合键。

reference

答案 4 :(得分:1)

至少在我的戴尔上:ctrl + alt + esc在光标开始循环之前

我从这个网站上的aidangrogan那里得到了这个信息:

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

所以我并不是声称自己找到了它。所有积分给他(或她)

答案 5 :(得分:0)

上述答案都不适合我。

我确实找到了this,因为你需要按下 ALT 然后按两次键才能完美。最重要的是,它取决于你的Excel设置的语言。

在英语Excel中,您使用 ALT + R + R ,您需要使用 ALT + U + R

答案 6 :(得分:0)

按住 CTRL + Fn &点击 Shift - 停止运行我的宏。我的HP Pavilion G7的键盘上没有“Break”键。

答案 7 :(得分:0)

我有一个日语布局键盘。我的笔记本电脑 - 联想E470上既没有滚动锁也没有中断。 长按 Esc 键可以作为我的终结者。

答案 8 :(得分:0)

Ctrl + Fn + B 适用于我的Dell Latitude 5480上的Excel 365(Office 365)(无 Break key)。

答案 9 :(得分:0)

我找到了解决方法,打开了另一个Excel实例和另一个电子表格,然后从那里打开了VBA编辑器,它显示为“正在运行”,所以我可以单击“停止”按钮

答案 10 :(得分:0)

我找到了该线程,并看到投票数最多的解决方案,但随后意识到我的笔记本电脑没有暂停中断 ScrLk)键。我尝试了其他建议的解决方案,例如“屏幕键盘”或其他组合键,但这些方法也不起作用。

然后让我大吃一惊:如果这是与特定代码行相关的幻影断点,为什么不仅仅删除该行?

这就是我所做的:

  1. 我中断了执行中断的行。
  2. 再次运行宏(这次没有中断)
  3. 再次粘贴行。

当没有其他组合键(屏幕上或物理上的)起作用时,它对我有用。希望它能对某人有所帮助!

答案 11 :(得分:0)

因为上述所有内容都不适用于我的应用程序,所以我最终编写了一个可以从终端运行的 VBS 脚本。不优雅。如果其他人中的一个工作,可能不是第一选择。但是,有效。

<块引用>

break.vbs

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{BREAK}"

答案 12 :(得分:-1)

我有一台HP笔记本电脑,当我想在msgbox之后中断时,可以使用它,按住fn + ctrl并单击右移键(也已在其上暂停),然后响应msgbox,代码将中断。