编辑:这最终成为了一个" MS VBA IDE是如何工作的?"有点问题。当它出错时突出显示一个函数调用,但实际上导致问题的是函数内的一行代码。通过使用" Step Into"和"跳过"操作(默认分别为F8和Shift + F8),您可以遍历代码,直到找到实际导致错误的行。尝试跳过此行将导致VBA IDE返回到最初突出显示的代码行。
我有一个简单的VBA用户表单,我已经开发用于Microsoft Excel 2007.我的一张表上的按钮使用以下VBA行显示此表单:
Sub ShowMyDialog()
MyFormName.Show
End Sub
这昨天工作得非常好。今天我打开.xlsm文件并单击按钮再次显示表单,然后我得到一个"运行时错误52:错误的文件名或数字"错误。
当我点击" Debug"它只是带我到我上面显示的表格。名称是正确的,自上次处于工作状态以来,这个名称没有改变。我的表单 从目录中打开文件,但如果这是问题,它是否会指示我执行文件打开的代码行?
谢谢!
答案 0 :(得分:1)
我的表单会打开目录中的文件,但是如果这是问题,那么它是否会指示我执行文件打开的代码行?
不是没有错误处理程序,并且没有配置为在类中断的错误处理。您发布的代码与问题无关,并且不会导致错误。
您的表单中有一些代码在加载/初始化/激活时运行,无法打开文件,如错误消息所示。
访问外部资源的任何代码都必须进行错误处理。
Private Sub DoSomething
On Error GoTo CleanFail
DoSomethingThatCanBlowUp
CleanExit:
Exit Sub
CleanFail:
' handle errors here
End Sub