当我尝试在私有子工作簿_open()中的ThisWorkbook中使用userform1.show显示userform1时,它做了最奇怪的事情。 (我正在使用Excel 2007) - 它进入中断模式并停止运行代码!!!
我打开启用宏的工作簿,用户窗体按计划显示,但是当我在用户窗体区域内移动鼠标时,它进入中断模式并突出显示UserForm1.Show行,就好像它是问题一样。
此外,当我按F8时,它突出显示私有子工作簿_open(),另一个按下高亮显示userform1.show,另一次按下显示运行时错误'400'。:
应用程序定义或对象定义的错误。
之前从未发生这种情况,我发现一条帖子说它没有回答here。
有什么想法吗?
答案 0 :(得分:3)
我也遇到了同样的情况。
我所做的是将Form属性中的ShowModal属性更改为False,然后中断就消失了。
答案 1 :(得分:1)
我有同样的问题,上面的答案没有解决它。重新启动PC暂时解决了它,但过了一会儿问题又恢复了。在经历了一些令人沮丧的日子并重新启动电脑后,我得出了以下结论:
我认为导致问题的原因是你在运行时使用ctrl + break来停止代码。
解决这个问题的方法是在代码未运行时按ctrl + break,它会显示它处于中断模式,然后按F5。它不会开始运行,但会再次退出中断模式。当你这样做时,问题应该得到解决,你可以像往常一样运行代码。 我想这种方法和重启你的电脑一样,但速度要快得多。
答案 2 :(得分:0)
首先要尝试重新编译VBA项目,然后保存包含宏的工作簿。如果编译引发错误,您可能会从编译器消息中获取更多信息,例如缺少引用。
还要确保清除了所有以前存在的断点。可能是您首先必须创建一个新断点( F9 ),然后清除所有断点( Ctrl + <要启用的命令,请按kbd> Shift + F9 。
答案 3 :(得分:0)
这是一个奇怪的行为,有些时候我开发了一些可能会帮助你的技巧:
if 1 = 2 then DoEvents
),编译代码然后再删除代码无论哪种方式,对我来说这个奇怪问题的原因都是个谜。似乎某些断点即使在删除后也会保留在内存中......
希望它有所帮助!