Visual Basic运行时错误' 91'设置新对象时

时间:2015-08-30 17:15:32

标签: 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 instance = New GroceryDatabase 'Run-time error 91 thrown here
    End If

    Set sharedInstance = instance
End Function

显然,变量尚未设置,这就是我为其分配新GroceryDatabase的原因。我已经看到很多这个问题的答案归结为试图使用Nothing对象的人,但是当我尝试实例化时,我无法理解为什么会抛出这个问题。

1 个答案:

答案 0 :(得分:0)

错误并非特别是由于实例化对象的行,而是由于其构造函数中存在实际上已分配但未设置变量的问题。

这是通过在GroceryDatabase的构造函数中放置断点来发现的。对于未来,我已启用"中断类模块",可在路径工具>选项>常规中找到。现在,按下"调试"立即查明问题。按钮。