2

我有一个关于从单个数组中“创建矩阵”而不必循环的问题:

从一个函数中,我得到一个包含数据的数组(Return_Calc,rows = 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

我不确定你是否会对这个提议感到满意。它提供了创建 Array-of-Arrays 的可能性,在某些情况下,它的工作方式类似于多维数组。你可以考虑用这种方式解决你的问题。

这是一个示例代码,如何创建以及从最终数组中检索数据的方式。

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

提出的解决方案有一个重要的好处——每个内部数组可以有不同的维度。

于 2013-04-24T12:35:00.460 回答