使用ReDim(VBA)超出范围的下标

reg*_*gie 5 arrays vba

你能否向我解释为什么这个简单的VBA代码在最后一行失败("下标超出范围"):

    Dim test() As Variant
    ReDim test(0, 1)
    test(0,0) = "key"
    test(0,1) = 1
    ReDim Preserve test(1, 1)
Run Code Online (Sandbox Code Playgroud)

Emi*_*dın 15

使用Preserve调整大小.如果使用"保留",则只能调整数组的最后一个维度,并且对于每个其他维度,必须指定现有数组中已有的相同边界.

例如,如果您的数组只有一个维度,则可以调整该维度的大小并保留数组的所有内容,因为您要更改最后一个维度.但是,如果您的数组具有两个或更多维度,则在使用"保留"时,可以仅更改最后一个维度的大小.