无法调用自定义类对象Excel VBA的方法

我正在编写一些调度自动化的代码。 我对VBA编程相对比较陌生,但是多年来一直在使用其他语言进行编程。 对于我的项目,我创build了一个名为OpsFloor的类,它应该模拟操作层。 我parsing用户信息到一个数组,并试图传递数组(我已经尝试传递整个数组和单个值)到一个OpsFloor对象的实例。 我担心我对VBA中的类如何工作有一些基本的误解。 以下是class级内的小class

Public Sub SetProcessMatrixValue(x As Integer, y As Integer, value As Integer) ProcessMatrix(x, y) = value End Sub 

以下是Excel中工作表对象子的调用:

 Option Explicit Private OperationMatrix(18, 8) As Integer Private dailyWF As New OpsFloor Public Sub StartingWorksheet() ... dailyWF.SetProcessMatrixValue 0, 0, 30 End Sub 

当我尝试运行子通过SetProcessMatrixValue方法将这些值分配给类实例时,我得到运行时错误'438'对象不支持此属性或方法。

所以我有几个问题,我拼凑了很多不同的post后,我发现了。

首先,我最初宣布我的类variables的方式:

 Private dailyWF As New OpsFloor 

这没有正确实例化类对象。 当我尝试将其更改为以下内容时:

 Private dailyWF As New OpsFloor Set dailyWf = New Operations_Floor 

我得到一个错误,指出我的类构造函数。 它最终成为我如何将对象分配给集合的一个问题。

 newCollection.Add(new Object) //WRONG! newCollection.Add new Object //Right! 

对于像我这样的其他新手,我发现了一篇文章,build议打开“类模块中断”,方法是转到“工具”>“选项”>“常规”>“打开类模块”。 这告诉我错误是在类的构造函数中,而不是实际上是我打电话的问题。