2

ループすることなく、単一の配列から「マトリックスを作成する」ことについて質問があります。

関数から、データを含む 1 つの配列が返されます (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 

現在のオプションは機能します。ループせずに別の可能性があるかどうか疑問に思っていました。ご協力いただきありがとうございます!

4

1 に答える 1

3

あなたがその提案に満足するかどうかはわかりません。状況によっては、多次元配列と同様に機能する配列の配列を作成する可能性を示します。この方法で問題を解決することを検討できます。

これは、作成方法と最終的な配列からデータを取得する方法のサンプルコードです。

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

提示されたソリューションには、1 つの重要な利点があります。各内部配列は、異なる次元を持つことができます。

于 2013-04-24T12:35:00.460 に答える