Arrays 在VBA as数组中创建(硬编码)矩阵
在VBA中,我们可以使用Array()创建向量(1D数组), 例如,向量=数组(1,2,3) 我们如何创建2x3矩阵?怎么会是3x2? 例如,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
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提供的以下文档,这将创建一个连续数字矩阵。把给定矩阵维数的向量变换成矩阵怎么样?这会创建一个连续数的矩阵。把给定矩阵维数的向量变换成矩阵怎么样?