如何定义在VBA中定义一个动态数组?

如何定义在VBA中定义一个动态数组?,第1张

没有动态数组,就算利用 dim Arr()as string这样声明,一旦赋值后,数组大小也就固定了。如果要改变数组大小,要用redim 命令:

redim arr(10)

preserve redim arr()

加preserve 可以不清空数组,保持原有数据。

动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的下标;当要用它时,可随时用ReDim语句重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。

“数组下标越界”是编程中一个比较常见的错误。

其原因如下:

1、数组的起始值可能是从 0 开始,即,第1个数组元素是 (0) 。比如,某数组有10个元素,那么第1个元素访问是 数组(0),而最后一个元素是 数组(9)。

2、如果动态改变了数组的大小,那么,如果访问的元素超出数组的最大值,就会出现错误。

建议:

1、检查数组的定义情况。

2、在代码中,通过调试跟踪,检查运行中数组的元素成员的实际最大数量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11585171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存