当键盘上没有中断键时,excel VBA中断执行[关闭]
Posted
技术标签:
【中文标题】当键盘上没有中断键时,excel VBA中断执行[关闭]【英文标题】:excel VBA break execution when there's no break key on keyboard [closed] 【发布时间】:2012-04-24 06:14:48 【问题描述】:我只是注意到我的笔记本电脑 (Dell XPS 15z) 上没有 BREAK 键(没有专用的数字键盘)。我正在逐步运行调试器,然后当一切看起来都很好时,我就让它发挥作用。但是,它在无限循环中运行,现在我意识到如果没有 break 键就无法停止它!!!!
这是一个糟糕的笑话吗?我不得不重新启动计算机;有没有更优雅的方式??
【问题讨论】:
Is this a bad joke?
不幸的是,它看起来像那样。它没有 BREAK 键 (google.co.in/imgres?imgurl=http://3.bp.blogspot.com/…) 你试过 Esc
吗?
@SiddharthRout:好的,谢谢你的链接!
相关:superuser.com/questions/12525/…
对读者的注意:有许多不同的解决方案是特定于计算机的。如果最重要的答案不起作用,请务必从列表中继续。就我而言,戴尔 Precision 的答案适用于我的笔记本电脑。
【参考方案1】:
只需按两次退出键 ;-)
【讨论】:
我可以确认这不适用于我的 Lenovo T431。下面的项目会在应用程序之间进行循环。 @MauryMarkowitz,确保您在任何代码中都没有这样的内容可能是有益的 - Application.EnableCancelKey = xlDisabled 嗯,我真的不知道该告诉你什么。您也许可以不用使用屏幕键盘。看到这篇文章 - windows.microsoft.com/en-us/windows/… @BenStrombeck,屏幕键盘帮我做了。谢谢。【参考方案2】:解决方案 #1(大部分时间都有效): 当键盘上缺少某些特定键(Pause、Break 或 ScrLk) 并按 Esc 2、3或多次也不会停止宏。
步骤 #01:如果您的键盘没有特定的键,请不要担心,通过按 Win + U.
步骤 #02:现在,尝试以下任何选项,它们肯定会根据您的系统架构(即操作系统和 Office 版本)起作用
Ctrl + 暂停 Ctrl + ScrLk Esc + Esc(连续按两次)您将使用上述组合键进入中断模式,因为宏会在完成当前任务后立即暂停执行。例如。如果它正在从网络中提取数据,那么它将在执行任何下一个命令之前立即停止,但在提取数据之后,可以按 F5 或 F8 继续调试。
当解决方案 #1 不起作用或您需要永久解决方案时,请尝试向注册表添加新 KEY。 (我在戴尔 3530 Inspiron 笔记本电脑上运行 Win 10 Creators Update)
免责声明:请您自行承担更改 Windows 注册表的风险,并且仅当您是 Windows 管理员或有更改键值的经验时才建议这样做在注册表中。
您也可以寻找使用辅助键盘 Win + U
的解决方案 #2解决方案 #2: 1) 单击开始,然后在搜索框中键入 REGEDIT。这将启动注册表编辑器。
2) 探索注册表,扩展每个元素 HKEY_LOCAL_MACHINE -系统 -电流控制集 - 控制 - 键盘布局
单击 Scancode Map,然后编辑键值以匹配如下所示。 即具有以下值:00,00,00,00,00,00,00,00,02,00,00,00,46,e0,44,00,00,00,00,00
完成后,您需要重新启动笔记本电脑,但之后,您可以用作暂停/中断键。
要详细了解它并根据您的需要定制它,请参考此链接:KeyBoard Scancodes
【讨论】:
屏幕键盘和 CTRL + 暂停在 HP EliteBook 上为我工作。谢谢(3 年后)!【参考方案3】:我有一个没有 Pause/Break 键的 Dell Precision,但有一个替代键:Fn + B,所以: - Fn + B == Pause(暂停执行); - Ctrl + Fn + B == Break(中断执行); - Win + Fn + B == Windows + Pause(打开系统属性)。
可以执行命令:
dir /s C:\
并在 dir 列出驱动器 C 中的所有文件时测试 Pause 和 Break 组合键。
reference
【讨论】:
我的戴尔需要 ctrl-fn-b。该线程上的其他解决方案均无效。非常感谢您的回答! Fn + B 在我的联想 T580 上完美运行!【参考方案4】:尽管这是一个老问题,但我刚刚遇到了同样的问题,发现Ctrl+Scroll lock
可以作为休息时间。
“滚动锁定”可以在我的戴尔笔记本电脑上通过蓝色功能键“Fn”和“F6”键访问,该键上有一个带有⇳符号的蓝色小锁符号。在其他计算机上,它可能看起来像 ⤓ 。所以我按 Ctrl+Fn+F6 非常有效。
【讨论】:
较新的戴尔笔记本电脑 - 我的笔记本电脑是F3
,并且有一个锁定图标。谢谢!【参考方案5】:
我有一台惠普笔记本电脑,当我想在 msgbox 之后中断时,这可以工作,按住 fn+ctrl 并单击右 shift 键(也有暂停)然后响应 msgbox 并且代码将中断。
【讨论】:
有人投了反对票。我投了赞成票,再次回到 0 :-) 在 MsgBox 上时中断。我可以确认这适用于 HP ProBook。我花了很长时间才找到这个,完全错过了 shift 键上的 [pause] 文本。谢谢鲍勃 这在 HP EliteBook 上不起作用...我不得不退出 DropBox,显然它在该组合键上有截屏功能。【参考方案6】:至少在我的戴尔上:ctrl + alt + esc 在光标开始循环之前
我在这个网站上从 aidangrogan 那里得到了这个信息:
http://en.community.dell.com/support-forums/laptop/f/3518/t/19355018
所以我并没有声称自己找到了它。他(或她)的所有功劳
【讨论】:
【参考方案7】:按住 CTRL+Fn 并点击 Shift - 停止我的宏运行。我的 HP Pavilion G7 键盘上也没有“Break”键。
【讨论】:
【参考方案8】:Ctrl + Fn + B 适用于我的 Dell Latitude 5480 上的 Excel 365 (Office 365)(没有 Break kbd> 键)。
【讨论】:
【参考方案9】:我找到了这个帖子并看到了得票最多的解决方案,但后来意识到我的笔记本电脑没有 Pause、Break 或 ScrLk) 键。我尝试了其他建议的解决方案,例如“屏幕键盘”或替代键组合,但这些也不起作用。
然后它打动了我:如果它是与特定代码行相关联的幻象断点,为什么不直接删除该行?
这就是我所做的:
-
我切断了执行中断的行。
再次运行宏(这次没有中断)
再次粘贴了行。
当没有其他组合键(屏幕上或物理)起作用时,它对我有用。希望它可以帮助某人!
【讨论】:
【参考方案10】:以上答案都不适合我。
我怎么找到this,这并不完美,因为您需要按住 ALT 然后按两次键。最重要的是,这取决于您的 Excel 设置的语言。
在英语 Excel 中,您需要使用 ALT + R + R 在德语中,您需要使用 ALT + U + R
【讨论】:
【参考方案11】:我有一个日文布局键盘。我的笔记本电脑联想 E470 上既没有滚动锁定也没有中断。 长按 Esc 键对我来说是一个终止符。
【讨论】:
【参考方案12】:我找到了解决办法,打开了另一个 Excel 实例和另一个电子表格,然后从那里打开了 VBA 编辑器,它显示为“正在运行”,所以我可以点击停止按钮
【讨论】:
您究竟是如何打开另一个 Excel 实例的? Windows 不会让我这样做,每当我这样做时,它只会将现有实例带到前台。我都在开始菜单中右键单击 Excel 并尝试打开另一个工作簿,并尝试在任务栏中右键单击并单击 Excel。 @JayImerman,要打开另一个 Excel 实例或任何其他应用程序,请单击(左)Alt +(左)Shift + 应用程序按钮。例如,我将 Excel 固定到任务栏并打开一个新实例,我单击任务栏上的 Alt + Shift + Excel 图标。要补充一点,您不能在两个不同的 Excel 实例之间复制粘贴 Excel 方式。如果您从一个实例复制并尝试粘贴到另一个实例中,您将无法获得所有 Excel 粘贴选项。同样,您不能在两个不同的 Excel 实例中打开的文件之间引用公式。对于这样的工作,文件应该在同一个实例中打开。【参考方案13】:因为上述所有内容都不适用于我的应用程序,所以我最终编写了一个可以从终端运行的 VBS 脚本。不优雅。如果其他一个工作,可能不是第一选择。但是,有效。
break.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%BREAK"
【讨论】:
以上是关于当键盘上没有中断键时,excel VBA中断执行[关闭]的主要内容,如果未能解决你的问题,请参考以下文章