VBA入门到进阶常用知识代码总结20

第20集 VBA数组-1:数组基础
91、 数据在内存中运算速度比单元格中块,数组的一个特点就是提高运算速度。
Sub v4() '运行时间0.01秒
Dim t
t = Timer
For x = 1 To 100000
m = m + 1000 '直接调用内存中的值
Next x
MsgBox Timer - t
End Sub

Sub v5() '运行时间0.5秒
Dim t
t = Timer
For x = 1 To 100000
m = m + Cells(1, 1) '调用单元格中的值
Next x
MsgBox Timer - t
End Sub
92、 VBA数组概念
VBA数组就是储存一组数据的数据空间。数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组。
93、 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) '三维数组,总1023=60个位置。这是三维数组
3)动态数组
arr() '不知道有多少行多少列
94、 向VBA数组中写入数据
 由单元格区域导入
Sub t5()
Dim arr
arr = Range(“a1:d5”)
Stop
End Sub
 由常量数组导入
Sub t4()
Dim arr
arr = Array(1, 2, 3, “a”)
Stop
End Sub
 动态数组写入,需要先定义动态数组,确定大小后,使用ReDim关键字重新定义数组。
Sub t3()
Dim arr() ‘简写:Dim arr
Dim row
Dim x As Integer
row = Sheets(“sheet2”).Range(“a65536”).End(xlUp).row
ReDim arr(1 To row)
For x = 1 To row
arr(x) = Cells(x, 1)
Next x
Stop
End Sub
 使用for循环写入
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
Stop
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 232

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104351221