分享

VBA数组基础学习(四)

 L罗乐 2017-05-27

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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多