当我调试 VBA 代码时,如果我从 VBA 中收到语法错误,它总是会在屏幕的左上角弹出,控制该位置的设置在哪里?
理想情况下,我希望它能够在 VBA 应用程序中间弹出。
a)您应该学会理解语法错误和运行时错误之间的区别,因为它们是完全不同的东西。
语法错误是无效的代码语句。编译器根本无法理解该语句。
示例:
i = ' Incomplete
x = Format(3, "000")) ' Too many closing ")"-characters
msg = "Hello world ' Missing closing quote
语法错误可能会出现在不止一行上:
For i = 1 to 10
If i = 3 Then
MsgBox "Now I am at 3"
Next i
这里缺少
End If
。
所有这些错误都可以通过简单地使用“调试->编译 VBA 项目”来找到。
相反,运行时错误是在代码已经运行时发生的事情。您除以 0、访问不存在的工作表、想要使用无效文件名保存文件。防止或捕获运行时错误可能是一项艰巨的工作......
有关错误类型的更多信息,请参阅此视频:https://www.youtube.com/watch?v=gSHjyN6JPcY
b) 对我来说,VBA 错误集中在当前屏幕(监视器)上,我不记得在其他地方见过它们。如果是这种情况,也许删除注册表分支会有所帮助。设置存储在
Computer\HKEY_CURRENT_USER\Software\Microsoft\VBA
也许只需删除分支(但首先关闭所有 Office 程序)。也许先导出它是个好主意。