考虑以下代码
Sub VarTest()
Dim Var1() As Variant
Dim VarA() As Variant
Dim VarB() As Variant
Dim X, Y As Integer
ReDim Preserve VarB(3)
For X = 0 To UBound(VarB)
ReDim Preserve Var1(3)
For Y = 0 To UBound(Var1)
Var1(Y) = X & "," & Y
Next Y
VarB(X) = Var1
Next X
MsgBox GetMDimArray(VarB, 3, 2)
VarB = SetMDimArray(VarB, 3, 2, "This Is A Test")
MsgBox GetMDimArray(VarB, 3, 2)
End Sub
Function GetMDimArray(ByRef MyArray As Variant, X As Integer, Y As Integer) As Variant
GetMDimArray = MyArray(X)(Y)
End Function
Function SetMDimArray(ByRef MArray As Variant, X As Integer, Y As Integer, NewValue As Variant) As Variant
MArray(X)(Y) = NewValue
SetMDimArray = MArray
End Function
正如你所见,实际上有一个数组被放置在主数组中,因此你可以通过事后使用多个维度来轻松访问数组的深度,即MyArray(X)(Y)。可以想象,您应该能够添加第三维或第四维,使其成为MyArray(W)(X)(Y)(Z)
这张图片应该澄清这个想法。
页:
1
[2]