2015-10-28 186 views
0

我不知道如何创建一个动态的多维数组。目前我已经宣布我的阵列为Dim fArr(0 To 4, 0 To 9)。它总是(0到4)在一个维度,但其他维度(0-9)总是可变的,所以我该怎么做?VBA多维动态数组?

我填充我的数组像这样的例子

 Select Case fTyp 
     Case Is = "A" 
      fArr(0, aRow) = j 
     Case Is = "B" 
      fArr(1, aRow) = j 
     Case Is = "C" 
      fArr(2, aRow) = j 
    End Select 

感谢

+2

第二维依赖于什么? –

+1

在您的循环'redim farr(4,x)作为变体之前的[动态多维数组问题](http://stackoverflow.com/questions/6344990/dynamic-multi-dimensional-array-problem) – user23573

+0

'x是在for循环中用于arow = 0到x'的变量。所以你在for循环中用什么来代替x,把同样的东西放在x中。就像@AlexWeber所说。 –

回答

1

可以使用ReDim在阵列中创建维度的动态量。首先,你必须调暗你的阵列以下列方式:

Dim fArr() as String ' Or whatever datatype you want 

然后,当你准备进入阵列的尺寸,您可以使用使用ReDim。

ReDim fArr(4, VBAVariable) as String 'Or whatever datatype you want 

您可以多次ReDim。 Check out this article for extra features that ReDim has.

+0

目前它是这样的 – Shan