VBA数组比我预期的要长

我有一个简单的问题。 我有以下代码:

Sub test() Dim vr() As String ReDim vr(1) vr(0) = 1 For i = 0 To UBound(vr) Debug.Print (vr(i)) Next i End Sub 

即使我已经将数组的长度设置为1,数组实际上有两个位置:

 vr(0) = 1 vr(1) = "" 

为什么它有两个位置,即使我已经把长度设置为1?

那么我会尝试以下。

Redim vr(0 to 0)

你的模块的顶部是否有Option Base ? 它是Option Base 0还是Option Base 1

无论是按照上面的例子来指定下限还是上限,都可以从上面的Option Base中看出来。