如果数组的大小增加了,并且您不想固定数组的大小,则可以使用ReDim关键字。Excel VBA然后自动更改数组的大小。
在A列中添加一些数字。
在您的工作表上放置一个命令按钮,并添加以下代码行:
1.首先,我们声明名为数字的数组。还声明两个Integer类型的变量。一个命名为size,一个命名为i。
Dim number()为 Integer,大小为 Integer,i 为 Integer
注意:数组尚无大小。数字,大小和我在这里随机选择,您可以使用任何名称。请记住在其余代码中引用这些名称。
2.接下来,我们确定数组的大小并将其存储为可变大小。您可以为此使用工作表函数CountA。添加以下代码行:
大小= WorksheetFunction.CountA(Worksheets(1).Columns(1))
3.现在我们知道了数组的大小,我们可以重新定义它的大小。添加以下代码行:
ReDim号码(尺寸)
4.接下来,我们初始化数组的每个元素。我们使用一个循环。
对于 I = 1 到大小
数(I)=细胞(I,1)。价值
接着我
数(I)=细胞(I,1)。价值
接着我
5.我们使用MsgBox显示数组的最后一个元素。
MsgBox编号(大小)
6.退出Visual Basic编辑器,然后单击工作表上的命令按钮。
结果:
7.现在要清楚地知道为什么将其称为动态数组,请在A列中添加一个数字。
8.再次单击命令按钮。
结论:Excel VBA已自动更改了此动态数组的大小。
9.使用ReDim关键字时,将擦除当前存储在阵列中的所有现有数据。例如,将以下代码行添加到先前创建的代码中:
ReDim数字(3)信息
框数字(1)
框数字(1)
结果:
数组为空。
10.当您想在重新排列时将数据保留在现有阵列中时,请使用Preserve关键字。
ReDim 保留数字(3)信息
框数字(1)
框数字(1)
结果: