'1、什么是VBA数组呢?
'VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组.
'2 VBA数组存在形态 ' VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。
'1) 常量数组 'array(1,2) 'array(array(1,2,4),array('a','b','c')) '2) 静态数组 'x(4) '有5个位置,编号从0~4 'arr(1 to 10) '有10个位置,编号1~10 'arr(1 to 10,1 to 2) '10行2列的空间,总共20个位置,这是二维数组 'arr(1 to 10,1 to 2,1 to 3) '三维数组,总10*2*3=60个位置。这是三维数组 '3)动态数组 'arr() '不知道有多少行多少列 '向VBA数组中写入数据
'1、按编号(标)写入和读取
Sub t1() '写入一维数组 Dim x As Integer Dim arr(1 To 10) arr(2) = 190 arr(10) = 5 End Sub
Sub t2() '向二维数组写入数据和读取 Dim x As Integer, y As Integer Dim arr(1 To 5, 1 To 4) For x = 1 To 5 For y = 1 To 4 arr(x, y) = Cells(x, y) Next y Next x MsgBox arr(3, 1) End Sub
'2、动态数组 Sub t3() Dim arr() Dim row row = Sheets('sheet2').Range('a65536').End(xlUp).row - 1 ReDim arr(1 To row) For x = 1 To row arr(x) = Cells(x, 1) Next x Stop End Sub
'3、批量写入
Sub t4() '由常量数组导入 Dim arr arr = Array(1, 2, 3, 'a') Stop End Sub
Sub t5() '由单元格区域导入 Dim arr arr = Range('a1:d5') Stop End Sub |
|