合理使用数组和字典,将极大地提升代码的运行效率。例如,将单元格内容加载到数组中,充分利用数组在内存中的快速处理特征处理数据,然后再将回写到工作表单元格之中。
利用数组快速完成"编号"和"日期"两列数据的位置交换。
Sub uRngTomRng()
Dim avntNum() As Variant, avntDate() As Variant
avntNum = Range("a1:a11")
avntDate = Range("b1:b11")
Range("a1:a11") = avntDate()
Range("b1:b11") = avntNum()
End Sub
第2行代码声明两个数组变量
第3行和第4行代码将两列数据分别加载到两个数组中。
第5行和第6行代码将两个数组变量的数据分别写入单元格区域。
在代码中经常会见到如下定义数组变量的方法。
Dim AvntNum, avntDate
其实该变量并非数组类型变量,而是Variant类型变量,最终在赋值语句中转化为数组,这是系统识别写入内容之后的结果。
注:在使用单元格区域直接给数组赋值时不能使用avntTest(1 to 3)的形式声明数组变量,只能使用Variant类型,否则需要通过循环才能完成数组赋值。
VBA中数组的维度可支持一维至六十维,编程时最常用的是一维数组和二维数组。
如下代码声明一维数组。
Sub ArrTest()
Dim avntTestTwo(1 To 3