2013-04-24 123 views
2

我有一個關於「創建矩陣」出單陣列wihtout不得不遍歷一個問題:Excel的VBA - 添加一維數組,多維數組不循環

從功能我回去一個數組與數據(Return_Calc,行= n-1)。我在尋找類似

Output(n-1, j-1) = Return_Calc(Nav_Range) 

目前,我這樣做:

Temp = Return_Calc(Nav_range) 

    For i = 1 To n - 1 

     Output(i - 1, j - 1) = Temp(i - 1) 

    Next i 

當前選項的作品。我只是想知道是否有沒有循環的另一種可能性。謝謝你的幫助!

回答

3

我不確定您是否會對該建議感到滿意。它提出了創建Array-of-Arrays的可能性,在某些情況下,該陣列的工作原理類似於Multidimensional Array。你可以考慮以這種方式解決你的問題。

這是一個示例代碼,介紹如何創建以及如何從最終數組中檢索數據。

Sub Array_Workaround() 

    Dim oneDimArrA, oneDimArrB 
     oneDimArrA = Array(1, 2, 3, 4) 
     oneDimArrB = Array("A", "B", "C", "D") 
    Dim multiDimArr 

    'creating multidemmnsional array 
    multiDimArr = Array(oneDimArrA, oneDimArrB) 

    'get element- different to standard syntax 
    Debug.Print multiDimArr(0)(0) '--> 1 
    Debug.Print multiDimArr(0)(1) '--> 2 
    Debug.Print multiDimArr(1)(1) '--> B 

End Sub 

提出的解決方案有一個重要的好處 - 每個內部數組可以有不同的維度。