2015-10-28 110 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