当我在excel VBA中有sheet.add或sheets.delete时,这种情况越来越多。搜索和搜索后,我终于找到了official Microsoft支持页面。我的问题是,有没有人知道为什么我可以一遍又一遍地完成这段代码,然后突然它开始做微软所说的一直做的事情,有没有办法解决它?
Sub foo()
Sheets.add
debug.print "sheet added" 'breakpoint here
End sub
就这么简单。你将无法重新创建它,因为我要问的问题是它最初不会发生。它一遍又一遍地工作,然后随机呈现linked Microsoft支持页面中描述的错误。
以下是一些不是万无一失的建议,
首先,验证如果未设置断点,则不会发生错误。
如果没有,请尝试其他一些事情:
DoEvents
之后添加一个Sheets.Add
语句MsgBox
上使用Debug.Print
而不是断点。显示消息框后,尝试使用ctrl + fn + End手动中断。 (此时,“打破”不是必要的,但看看你是否可以打破这种方式会很有趣)Sheets.Add
上设一个断点;实际上,没有理由把断点放在Print
声明上,如果你可以把它放在前一行。又一个Excel / VBA故障。
当我点击运行宏的按钮时发生这种情况:
SHIFT F8
),然后我可以让调试像往常一样自由运行(F5
)。到目前为止,我不再得到这个错误。
可能也不是万无一失但值得一试。