Excel VBA 应用程序自发停止并显示“代码执行已停止”消息

Posted

技术标签:

【中文标题】Excel VBA 应用程序自发停止并显示“代码执行已停止”消息【英文标题】:Excel VBA App stops spontaneously with message “Code execution has been halted” 【发布时间】:2016-08-28 14:59:45 【问题描述】:

我有这个问题described here:

从我在网上看到的情况来看,这是一个相当普遍的投诉,但答案似乎很少。问题是这样的: 我们有许多 Excel VBA 应用程序可以在许多用户的机器上完美运行。然而,在一台机器上,它们停在某些代码行上。它总是相同的线条,但这些线条似乎彼此没有任何共同之处。 如果您在停止后按 F5(运行),应用程序将继续运行,因此几乎就像添加了一个断点。我们尝试从菜单中选择“删除所有中断”,甚至添加中断并再次将其删除。 我们之前在单个应用程序中遇到过这个问题,我们通过从模块中删除代码、编译然后将其粘贴回去等方式来解决这个问题。 现在问题似乎与 Excel 本身有关,而不是与单个 .xls 有关,所以我们有点不确定如何管理它。

我已经设法通过接受的答案解决了这个问题,但是现在,当我将 VBA 文件发送给我的同事时,他们遇到了同样的问题。

我的问题和我的问题是 - 任何想法该怎么做,只要每次都去每个人都调试真的不是一个好主意。而且我不知何故不想将Application.EnableCancelKey = xlDisabled 添加到我的宏中。

【问题讨论】:

【参考方案1】:

听起来像鬼魂。文件保存了一次,在那里休息。过去对我有用的是删除您看到的任何中断并手动逐步完成代码(F8),然后保存文件。现在可能需要一路走好,但我想知道我一路走来,没有错过任何一个。

【讨论】:

嗨!我没有完全得到你的建议。你的意思是每行代码都按 F8 还是别的什么?因为,对我来说,现在代码按预期工作,但是当我将 Excel 发送给其他人时,他/她遇到的问题与我以前一样。 我的意思是逐步浏览每一行。谷歌“vba 幽灵断点”。听起来你在某个地方有一个。

以上是关于Excel VBA 应用程序自发停止并显示“代码执行已停止”消息的主要内容,如果未能解决你的问题,请参考以下文章

MS Excel 2010 - 使用 Abs() 的计算在放置在其他 VBA 中时停止工作

Excel VBA - 使用 FindNext 后功能停止(在子程序中工作)

从 C# 运行 Excel 宏:从 VBA 捕获运行时错误

Excel VBA 停止而没有错误消息

停止 excel(或 VBA)四舍五入的小数

在给定情况Excel VBA上停止消息框