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

标签 arrays vba excel

我在下面的代码中遇到了错误。当我调试时,我发现导致我的问题的行:

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/

相关文章:

javascript - Javascript:如何检查一个数组是否恰好包含另一个数组?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

excel - VBA 格式(SomeDate ,"MM/dd")= "12-15"

VBA:UsedRange 未正确更新

vba - 保护 Excel 工作簿(使用 VBA)免于与不同数据重复使用

mysql - Unicode CSV 文件中未显示孟加拉语文本

c++ - 在 C++ 中创建结构数组

javascript - [].slice 或 Array.prototype.slice

excel - 从 Outlook VBA 激活工作表

Excel VBA 将图表轴设置为对数