我在下面的代码中遇到了错误。当我调试时,我发现导致我的问题的行:
Options(a) = New Element
显示的错误是对象变量或未设置 block 变量。使用 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
关于arrays - Excel VBA 对象变量未设置问题,可能不正确的 Redim 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21337404/