vBA声明二维数组

dim a(1,2)

可以用数组变量通过工作表函数index取二维数组中的一行或一列,但无法直接取其中的多行多列.要取多行多列,需要用循环方法赋值.

vb,vba等在二维数组声明时,都不能直接赋值.对于excel 有种方法可以得到一个二维数组,并简单的赋值,对于如 arrA= range("A1:B12").value

答:二维数组赋值有两种方法,第一种方法是单元格区域装入二维数组,如:Arr=range("a1:b19")就可以把单元格区域的值装入数组arr 第二种就是通过循环装入,一个个数值装入.例:向二维数组写入数据和读取 Dim x As Integer, y As Integer Dim arr(1 To 5, 1 To 4) For x = 1 To 5

Dim a(3, 5) As IntegerDim b(0 To 3, 0 To 5) As Integer

VBA中动态定义一个二维数组,案例代码如下://定义动态数组tt Sub tt() Dim a() As Integer ReDim a(1 To 2, 1 To 1) As Integer a(1, 1) = 10 i = 10 ReDim Preserve a(1 To 2, 1 To i) As Integer MsgBox a(1, 1) End Sub

我有一个办法:用array函数,一个array可以代表一个一维数组,相互嵌套就可以表示多维,如下面创建一个两维数组.Dim hzhz = Array(Array(1, 6, 37, 38, 39, 40), Array(1, 6, 37, 38, 39, 40))特别注意:引用时不能用一般的二维数组比如 hz(1,2) 的方式去引用,而是用 hz(1)(2)的方式.而且数组下标都是默认从0开始的.如果要方便从1开始,我感觉也只能用循环逐个赋值的方法,如楼下的做法.

Private Sub Command1_Click() Dim abc(3, 3) As Integer Dim abcMax As Integer Dim abcMin As Integer Dim i As Integer Dim j As Integer Dim iMax As Integer Dim jMax As Integer Dim iMin As Integer Dim jMin As Integer Dim abcSum As Integer

一维给二维赋值,参考实例如下:for (i = 0; i { for (j = 0; j { scanf("%d", &a[j]); } strncpy(b[i], a, max); //memcpy(b[i], a, max); } 二维数组赋值有两种方法,第一种方法是单元格区域装入二维数组,如:arr=range("a1:b19")就可以把单元格区域的值装入数组arr 第二种就是通过循环装入,一个个数值装入.例:向二维数组写入数据和读取;dim x as integer, y as integer dim arr(1 to 5, 1 to 4) for x = 1 to 5

可以用Resize来实现,示例如下:arr=range("A1:Z1")'将第一行,A到Z列,赋值给数组arrrange("A2").resize(ubound(arr),1)=application.transpose(arr)'将数组Arr转置后,赋予A2开始的A列中.关于Resize属性:调整指定区域的大小.返回

相关文档

vba 二维数组
vba 单元格二维数组
vba数组一维和二维
vba二维数组合并
vba数组复制到另一个数组
vba定义二维数组
excel vba字典教程
vba创建二维数组
电脑版