VBA让工作效率飞起来! 专门代写EXCEL VBA中小型 程序代码。 本人以诚信立足 ,另欢迎加友交流学习!
五、静态数组和动态数组 静态数组在执行期间不可以改变其上界(最后一个元素的索引号 ),而动态数组可以随时修改其上界。 如:dim arr(10) as long dim arr(1 to 100) 等,这些都是静态数组。 而对于动态数组,需要dim语句配合Redim 语句或者Redim Preserve 语句来实现。 Redim 语句或者Redim Preserve语句的作用是为了动态数组变量重新分配内存空间,包括指定的维数及声明其上界。但Redim语句重置数组大小,会使数组中的值丢失;而Redim Preserve语句重置数组的大小时可以保留原数组中的值。可以使用Redim语句反复地改变数组的元素及维数的数目,但是不能将一个数组定义为某种数据类型后,再使用Redim将该数组改成为其他数据类型,除非是variant所包含的数组。具体看以下数组: Sub a() Dim arr1(), arr2() arr1 = [A1:D11].Value arr2 = [A1:D11].Value ReDim arr1(1 To 2, 1 To 3) '重置数组大小为2行3列的二维数组 ReDim Preserve arr2(1 To 11, 1 To 3) '重置数组大小为11行3列的二维数组 MsgBox arr1(2, 3) MsgBox arr2(2, 3) End Sub |
|
来自: L罗乐 > 《VBA数组基础学习》