Excel VBA对象variables未设置问题,可能不正确的Redim使用?

我遇到了下面的代码错误。 当我debugging时,我发现线路导致我的问题:

Options(a) = New Element 

显示的错误是“对象variables”或“未设置块variables”。 在msg框中,我发现崩溃时a的值为0,TotalItems为7. Element对象初始化为空。 我从同一个类中的另一个方法调用PopulateChildren方法。 我是否正确使用ReDim? 它似乎也许不是增加我的数组的大小…我已经注意到使用它的例子像这样…

 ReDim Preserve Options(0 to TotalItems) 

…但是,当我尝试它时似乎没有什么不同。 任何人有任何想法是怎么回事?

 Dim Options() As Element Dim TotalItems As Integer Dim Children(100) As Integer Private Sub PopulateChildren() ReDim Preserve Options(TotalItems) For a = 0 To TotalItems - 1 Options(a) = New Element Options(a).Populate (Children(a)) Next a End Sub 

谢谢

由于Element是对象,你应该使用Set

 Set Options(a) = New Element 

容易,把你暗淡的select里面的SUB,或…

 public dim options() sub ... 'your code end sub 

当然选项不会退出,就像你写的那样! 所以错误显示…