Vba Visual Basic运行时错误';91';设置新对象时
我对VBA比较陌生,但不熟悉编程。我试图设置一个类的共享实例,但我一直遇到运行时错误91,它抱怨没有设置变量Vba Visual Basic运行时错误';91';设置新对象时,vba,excel,Vba,Excel,我对VBA比较陌生,但不熟悉编程。我试图设置一个类的共享实例,但我一直遇到运行时错误91,它抱怨没有设置变量 'A Module which acts as the singleton loader Option Explicit Private instance As GroceryDatabase Public Function sharedInstance() As GroceryDatabase If instance Is Nothing Then Set i
'A Module which acts as the singleton loader
Option Explicit
Private instance As GroceryDatabase
Public Function sharedInstance() As GroceryDatabase
If instance Is Nothing Then
Set instance = New GroceryDatabase 'Run-time error 91 thrown here
End If
Set sharedInstance = instance
End Function
显然变量还没有设置,这就是为什么我给它分配了一个新的GroceryDatabase。我已经看到了很多关于这个问题的答案,这些答案归结为有人试图使用Nothing对象,但我真的不明白为什么在我尝试实例化它时会抛出它。错误并不是由于实例化对象的行,而是因为它的构造函数中存在一个问题,实际上有一个变量被赋值但没有设置
这是通过在GroceryDatabase的构造函数中放置断点发现的。对于未来,我已经启用了“打破类模块”,可以在路径工具>选项>常规中找到。现在,当按下“调试”按钮时,问题立即得到了解决。您在“设置实例=…”时出错了吗?当您逐步浏览代码时,grocerydatabase的构造函数是否工作?啊哈,我在grocerydatabase的构造函数中抛出了一个断点,结果发现其中有一个变量实际上抛出了错误。我要回答我自己的问题,谢谢!另一种方法是设置
Tools>Options>General>Break-in-Class模块
,多亏了你们两位的帮助suggestions@Chris很高兴你拿到了。否则,您发布的代码看起来没问题