Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 事件工作簿中的窗体显示方法\u在此工作簿中打开时焦点中断_Excel_Vba_Runtime Error_Userform - Fatal编程技术网

Excel 事件工作簿中的窗体显示方法\u在此工作簿中打开时焦点中断

Excel 事件工作簿中的窗体显示方法\u在此工作簿中打开时焦点中断,excel,vba,runtime-error,userform,Excel,Vba,Runtime Error,Userform,当我尝试在私有子工作簿_open()中的此工作簿中显示userform1和userform1.show时,它会做最奇怪的事情。(我正在使用Excel2007)-它进入中断模式并停止代码的运行 我打开启用宏的工作簿,userform按计划显示,但当我在userform区域内移动鼠标时,它将进入中断模式,并高亮显示UserForm1行。显示时就好像这是问题所在 此外,当我按F8键时,它会高亮显示私有子工作簿_open(),另一次按会高亮显示userform1.show,另一次按会显示运行时错误“40

当我尝试在私有子工作簿_open()中的此工作簿中显示userform1和userform1.show时,它会做最奇怪的事情。(我正在使用Excel2007)-它进入中断模式并停止代码的运行

我打开启用宏的工作簿,userform按计划显示,但当我在userform区域内移动鼠标时,它将进入中断模式,并高亮显示UserForm1行。显示时就好像这是问题所在

此外,当我按F8键时,它会高亮显示私有子工作簿_open(),另一次按会高亮显示userform1.show,另一次按会显示运行时错误“400”:

应用程序定义或对象定义错误

这以前从未发生在我身上,我发现一个帖子说它没有答案


有什么想法吗?

首先尝试重新编译VBA项目,然后保存包含宏的工作簿。如果编译抛出错误,您可能会从编译器消息中获得更多信息,例如缺少引用


还要确保清除了以前存在的所有断点。在这种情况下,可能需要先创建一个新断点(F9),然后清除所有断点(Ctrl+Shift+F9),才能启用命令。

在开发时,我已经遇到过一些奇怪的行为。。。一些可能对您有所帮助的提示:

  • 编译代码
  • 清除所有断点
  • 检查项目引用(缺少引用可能会导致问题)
  • 在“隐藏断点”之前添加一些不必要的语句(如
    如果1=2则DoEvents
    ),编译代码,然后再次删除代码
  • 安装并运行
不管怎样,这对我来说都是一个谜——这个奇怪问题的原因。似乎有些断点在删除后仍保留在内存中


希望有帮助

我也遇到了同样的情况


我所做的是将表单属性中的showmodel属性更改为False,这样中断就消失了

我也有同样的问题,上面的答案无法解决。重新启动电脑暂时解决了问题,但过了一会儿问题又出现了。经过几天令人沮丧的重新启动电脑后,我得出以下结论:

我认为导致问题的原因是在运行时使用ctrl+break停止代码

对我来说,解决问题的方法是在代码未运行时按ctrl+break,它将显示代码处于中断模式,然后按F5。它不会开始运行,但会再次退出中断模式。完成此操作后,问题应该得到修复,您可以像往常一样运行代码。
我想这种方法与重新启动电脑的方法相同,但速度要快得多。

去过那里,就这样做了。。可能是因为我运行了一个循环,每次都以不同的名称自动为工作簿节省了几次时间,从而导致用户表单一次又一次地重复加载?您可以查看用户表单的处理方式。是否只有一个userForm实例并且它正在正确关闭?也许有几个用户表单正在被实例化,不知何故它正在破坏Excel内存…同样的答案也适用于您。去了那里,做了那件事。。可能是因为我运行了一个循环,每次都以不同的名称自动为工作簿节省了一些时间,从而导致用户表单一次又一次地重复加载?问题已经解决了,感谢所有的答案,当问题再次出现时,我将尝试你的答案。我差点被这件事弄死,你的解决方案成功了!