分享

【烟花原创】VBA零基础之第112篇VBA数组(二)

 fzchenwl 2015-04-02

 

动态数组声明


当把单元格的值赋值给动态数组时,如果只有一个单元格,则会产生运行错误。所以,当需要把单元格的值赋值给动态数组时,特别需要注意。

可以通过两种方法避免:

A通过代码判断引用的单元格数量(是否大于1),如果大于1则可以直接赋值给动态数组,否则就会产生错误。

B.当没有用代码判断的情况下,建议直接声明为可变类型的变量(dim arr),这样不会报错,但后续代码就需要对变量是否是数组进行判断了。否则当准备进行数组循环时则又要产生错误。

注意:如果要将一个数组赋值给另一个数组,确定在=号左侧的是大小可以调节的数组,且类型匹配。上图中arr3=arr2,出错原因就是在于两边类型不一致。


B.基于元素访问
与静态数组的元素访问方式相同。

补充:Dim arr,arr()使用中需要注意的地方

2014-3-2 00:12 上传

下载附件 (10.93 KB)



如果指定了数组的具体类型,情况就不相同了,如下图:

2014-3-2 00:12 上传

下载附件 (24.98 KB)

可以在执行代码时去改变数组大小。

A.整体赋值

2014-3-2 00:12 上传

下载附件 (9.46 KB)


dim  数组名() [ as 数据类型]

当然dim也可以换成public,private等关键字。

切记数组名后的括号中不需要写入任何内容。

示例:

Dim arr()


访问静态数组:

赋值只能基于元素访问不能整体赋值。通过每一维的索引号确定元素在数组中的具体位置

示例:

2014-3-2 00:12 上传

下载附件 (17.59 KB)

      

可以通过for..next,for...each循环访问数组,提高效率。


2014-3-2 00:12 上传

下载附件 (21.24 KB)


静态数组不能整体赋值,即使=号两边大小相同,维数相同,但是可以把静态数组赋值给可变类型变量,如下图:

2014-3-2 00:12 上传

下载附件 (2.58 KB)



访问动态数组:

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多