小兔网

如果数组的大小增加了,并且您不想固定数组的大小,则可以使用ReDim关键字Excel VBA然后自动更改数组的大小。

在A列中添加一些数字。

Excel VBA中的动态数组

在您的工作表上放置一个命令按钮,并添加以下代码行:

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)。价值
接着

5.我们使用MsgBox显示数组的最后一个元素。

MsgBox编号(大小)

6.退出Visual Basic编辑器,然后单击工作表上的命令按钮。

结果:

数组的最后一个元素

7.现在要清楚地知道为什么将其称为动态数组,请在A列中添加一个数字。

加号码

8.再次单击命令按钮。

动态数组结果

结论:Excel VBA已自动更改了此动态数组的大小。

9.使用ReDim关键字时,将擦除当前存储在阵列中的所有现有数据。例如,将以下代码行添加到先前创建的代码中:

ReDim数字(3)信息
框数字(1)

结果:

没有保留

数组为空。

10.当您想在重新排列时将数据保留在现有阵列中时,请使用Preserve关键字。

ReDim 保留数字(3)信息
框数字(1)

结果:

保留