|
一、数组概念
1、VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组.
2、VBA数组存在形态
VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。
1) 常量数组- Dim arr1, arr2
- arr1 = Array(1, 2)
- arr2 = Array(Array(1, 2, 4), Array("a", "b", "c"))
复制代码 2) 静态数组- Dim x(4) '有5个位置,编号从0~4
- Dim arr1(1 To 10) '有10个位置,编号1~10
- Dim arr2(1 To 10, 1 To 2) '10行2列的空间,总共20个位置,这是二维数组
- Dim arr3(1 To 10, 1 To 2, 1 To 3) '三维数组,总10*2*3=60个位置。这是三维数组
复制代码 3)动态数组二、如何写入数组
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
复制代码 |
|