vba redim preserve,vba中redim详解

【分享成果,随喜正能量】一段路,走了很久,依然看不到希望, 那就改变方向; 一件事,想了很久, 依然纠结于心,那就选择放下;一些人,交了很久,依然感觉不到真诚, 那就选择离开;一种活法,坚持了很久,依然感觉不到快乐,那就选择改变。断、舍、离,放下过去,让心归零!。《VBA经典应用69例》,是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用9:VBA中ReDim语句的语法

应用9 VBA中的ReDim声明语句

大家好,我们这讲开始一个新的应用专题讲解,就是VBA中的ReDim声明语句,这个专题应用的讲解也是结合给学员答疑的频度来讲解的,很多学员都问我ReDim的用法,所以我将努力结合我多年应用经验并结合一些经典的用法展示给大家。

ReDim语句用于在VBA中声明动态数组的大小。以后可以根据需要多次使用它,并重新声明数组的大小。它只能用于动态VBA数组(在原始声明中未声明数组大小),不适用于固定VBA 数组(在原始声明中声明数组大小)。

1 ReDim语句的语法

这个语句在过程级使用, 用于为动态数组变量重新分配存储空间。

语法:ReDim [ Preserve ] varname ( subscripts ) [ As type ], [ varname ( subscripts ) [ As type ]] . . .

参数:

1)Preserve 可选。关键字,用于在更改最后一个维度的大小时将数据保存在现有数组中。

2)varname 必需。 变量的名称;紧跟命名约定的标准变量。

3)subscripts 必需。 数组变量的维度;最多可以声明 60 个维度。下标参数使用以下语法:

[lowerTo] upper [,[ lowerTo ] upper] . . .

如果未明确规定 lower的下限, 则由Option Base语句控制数组的下限。如果不存在 Option Base 语句,则下限为零。

4)type 可选。 变量的数据类型;可以是Byte、 Boolean、 Integer、 Long、 Currency、 Single、Double、Decimal (目前不支持)、 Date、 String (对于可变长度字符串) 字符串长度(对于固定长度的字符串)、对象、变量、用户定义类型或对象类型。

对要定义的每个变量使用单独的As type子句。 对于包含数组的 Variant,type 描述数组的每个元素,但不会将 Variant 更改为某种其他类型。

可以反复使用ReDim语句来更改数组中的元素和维度的数目。 但是,不能先声明一种数据类型的数组,然后使用ReDim将该数组更改为其他数据类型,除非该数组包含在 Variant中。如果数组包含在Variant中,则可以使用As type子句更改元素的类型, 除非使用Preserve关键字, 在这种情况下, 不允许对数据类型进行任何更改。如果使用Preserve关键字,则只能调整最后一个数组维度的大小,并且无法更改维度数目。例如,如果你的数组只有一个维度,则可以调整该维度的大小,因为它既是最后一个维度,也是唯一的一个维度。但是,如果数组有两个或更多维度,则只能更改最后一个维度的大小并保留数组的内容。

[待续]

本讲内容参考程序文件:应用009.xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

【分享成果,随喜正能量】简单,是自由的根基。而复杂的关系就像蜘蛛网,你不能成为蜘蛛,就只能成为虫子。。

剪辑交流

html详解,html总结

2022-10-2 18:50:53

剪辑交流

受美术馆启发的简单文艺婚礼,在细节中掩埋爱情隐喻。

2022-10-2 18:53:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索