此时无法进入休息模式

问题描述 投票:2回答:2

当我在excel VBA中有sheet.add或sheets.delete时,这种情况越来越多。搜索和搜索后,我终于找到了official Microsoft支持页面。我的问题是,有没有人知道为什么我可以一遍又一遍地完成这段代码,然后突然它开始做微软所说的一直做的事情,有没有办法解决它?

Sub foo()

    Sheets.add
    debug.print "sheet added" 'breakpoint here

End sub

就这么简单。你将无法重新创建它,因为我要问的问题是它最初不会发生。它一遍又一遍地工作,然后随机呈现linked Microsoft支持页面中描述的错误。

excel vba debugging breakpoints worksheet
2个回答
0
投票

以下是一些不是万无一失的建议,

首先,验证如果未设置断点,则不会发生错误。

如果没有,请尝试其他一些事情:

  1. 从VBE调试菜单“编译VBA项目”,它值得一试。
  2. 完全删除该行。运行代码。然后将该行重新放入并使用断点再次尝试。
  3. DoEvents之后添加一个Sheets.Add语句
  4. MsgBox上使用Debug.Print而不是断点。显示消息框后,尝试使用ctrl + fn + End手动中断。 (此时,“打破”不是必要的,但看看你是否可以打破这种方式会很有趣)
  5. 改为在Sheets.Add上设一个断点;实际上,没有理由把断点放在Print声明上,如果你可以把它放在前一行。
  6. 有没有Addins?如果是这样,请禁用所有这些并一次重新启用一个,测试哪个可能导致错误。

0
投票

又一个Excel / VBA故障。

当我点击运行宏的按钮时发生这种情况:

  • 我首先尝试直接从VBE运行宏,
  • 如果它失败了,那么我在宏的第一条指令处放置一个断点,
  • 如果它仍然失败,我试试两个,
  • 或者,在单击按钮并打破第一个断点后,我执行一步(SHIFT F8),然后我可以让调试像往常一样自由运行(F5)。

到目前为止,我不再得到这个错误。

可能也不是万无一失但值得一试。

© www.soinside.com 2019 - 2024. All rights reserved.