Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
Vba Visual Basic运行时错误';91';设置新对象时_Vba_Excel - Fatal编程技术网

Vba Visual Basic运行时错误';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

我对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对象,但我真的不明白为什么在我尝试实例化它时会抛出它。

错误并不是由于实例化对象的行,而是因为它的构造函数中存在一个问题,实际上有一个变量被赋值但没有设置


这是通过在GroceryDatabase的构造函数中放置断点发现的。对于未来,我已经启用了“打破类模块”,可以在路径工具>选项>常规中找到。现在,当按下“调试”按钮时,问题立即得到了解决。

您在“设置实例=…”时出错了吗?当您逐步浏览代码时,grocerydatabase的构造函数是否工作?啊哈,我在grocerydatabase的构造函数中抛出了一个断点,结果发现其中有一个变量实际上抛出了错误。我要回答我自己的问题,谢谢!另一种方法是设置
Tools>Options>General>Break-in-Class模块
,多亏了你们两位的帮助suggestions@Chris很高兴你拿到了。否则,您发布的代码看起来没问题