Arrays 在VBA as数组中创建(硬编码)矩阵

Arrays 在VBA as数组中创建(硬编码)矩阵,arrays,vba,matrix,Arrays,Vba,Matrix,在VBA中,我们可以使用Array()创建向量(1D数组), 例如,向量=数组(1,2,3) 我们如何创建2x3矩阵?怎么会是3x2? 例如,Matrix=Array(1,2,3;4,6,7) 谢谢 尝试 下面的方法一是一个解决方案,尽管很麻烦。是否有灵活/更大的阵列 Option Explicit 1 Private Sub MatrixDemo() Dim arr(2,3) as Variant ' Which has 2 rows and 3 columns a

在VBA中,我们可以使用Array()创建向量(1D数组), 例如,向量=数组(1,2,3)

我们如何创建2x3矩阵?怎么会是3x2? 例如,
Matrix=Array(1,2,3;4,6,7)

谢谢

尝试

下面的方法一是一个解决方案,尽管很麻烦。是否有灵活/更大的阵列

Option Explicit 1

Private Sub MatrixDemo()
  Dim arr(2,3) as Variant   ' Which has 2 rows and 3 columns       
  arr(1,1) = 1          
  arr(1,2) = 2          
  arr(1,3) = 3                      
  arr(2,1) = 4           
  arr(2,2) = 5             
  arr(2,3) = 6           
End Sub
方法2更灵活,但我必须设置逗号来定义维度。我们能在飞行中运行这个吗

Dim matrix = New Integer(2, 3) {{1, 2}, {3, 4}, {6, 7}}

此函数将返回所需的矩阵

只需将所需的行和列传递给它
Create\u Matrix(3,2)
,它将重新运行一个具有递增值的数组

Function Create_Matrix(x As Long, y As Long) As Variant

    Dim Arr() As Variant ' Matrix array
    Dim i As Long ' rows
    Dim j As Long ' columns
    Dim k As Long ' increment counter


    ReDim Arr(1 To y, 1 To x)

    For i = 1 To y

        For j = 1 To x

            k = k + 1

            Arr(i, j) = k

        Next j ' next column


    Next i ' next row


    Create_Matrix = Arr

End Function

您的数组应该首先声明为变量。此函数将返回您想要的矩阵

只需将所需的行和列传递给它
Create\u Matrix(3,2)
,它将重新运行一个具有递增值的数组

Function Create_Matrix(x As Long, y As Long) As Variant

    Dim Arr() As Variant ' Matrix array
    Dim i As Long ' rows
    Dim j As Long ' columns
    Dim k As Long ' increment counter


    ReDim Arr(1 To y, 1 To x)

    For i = 1 To y

        For j = 1 To x

            k = k + 1

            Arr(i, j) = k

        Next j ' next column


    Next i ' next row


    Create_Matrix = Arr

End Function

您的数组应首先声明为
Variant

要填充2D数组,您将需要一个循环。只有在计算内容为(i,j)的fn时,循环才起作用位置??我建议使用Microsoft Developer Network提供的以下文档来填充2D数组。您将需要一个循环。只有在计算内容为(I,j)的fn时,循环才起作用位置??我建议使用Microsoft Developer Network提供的以下文档,这将创建一个连续数字矩阵。把给定矩阵维数的向量变换成矩阵怎么样?这会创建一个连续数的矩阵。把给定矩阵维数的向量变换成矩阵怎么样?