VBA ArrayList(示例)|如何在Excel VBA中创建ArrayList?

在vba中,我们内置了数据类型,函数变量和其他重要语句的集合,但与此类似,在VBA中,我们具有数组列表,用户可以在其中修改和将自己的变量和用户定义函数的集合放入数组中,设计数组列表的关键字。

Excel VBA ArrayList

VBA ArrayList是我们在VBA中使用的一种数据结构,用于存储数据。 Excel VBA中的ArrayList是用于创建值数组的类。这与传统数组不同,传统数组中的数组具有固定长度,但“数组列表”没有任何固定长度。

VAB ArrayList不是VBA列表的一部分,而是一个外部库或对象,我们需要在开始访问它之前设置引用。

VBA中的数组是任何编码语言的组成部分。通过在excel中使用数组,我们可以通过声明“下限和上限”来使用单个变量名存储数据。

对于常规数组,在静态数组的情况下声明变量时,我们需要预先确定需要确定的数组的下限和上限,在动态数组的情况下,我们需要确定数组的长度在VBA中使用“ ReDim”语句声明数组后,再对数组进行排序。

但是,我们还有另一个选择,可以存储“ N”个值而无需声明下限和上限。在本文中,我们将向您介绍该选项,即“ VBA ArrayList”

若要设置对VBA ArrayList对象的引用,请执行以下步骤。

步骤1: 转到工具>参考

第2步: 对象库参考窗口将出现在您的前面。选择选项“mscorlib.dll

第三步: 也单击“确定”。现在,我们可以访问VBA ArrayList。

Excel中的VBA ArrayList的示例

以下是Excel VBA ArrayList的示例。

您可以在此处下载此VBA ArrayList Excel模板– VBA ArrayList Excel模板

Example#1 –创建VBA ArrayList的实例

由于Excel VBA ArrayList是一个外部对象,因此我们需要创建一个实例来开始使用它。要创建实例,请执行以下步骤。

步骤1: 将该变量声明为“数组列表”.

代码:

 Sub ArrayList_Example1()将ArrayValues设置为ArrayList End Sub 

第2步: 由于数组列表是一个对象,因此我们需要创建一个新实例。

代码:

 Sub ArrayList_Example1()将ArrayValues设置为ArrayList Set ArrayValues = New ArrayList End Sub 

第三步: 现在,我们可以使用“添加”方法继续将值存储到数组变量中。在下图中,我添加了三个值。

代码:

 Sub ArrayList_Example1()将ArrayValues设置为ArrayList Set ArrayValues = New ArrayList ArrayValues.Add“ Hello”'第一个值ArrayValues.Add“ Good”'第二个值ArrayValues.Add“ Morning”'三个值End Sub 

现在,我们已经分配了三个值,如何确定第一个值,以及如何显示这些值或将其用于我们的需求。

如果您还记得传统的数组类型,我们将引用第一个数组值,例如“ ArrayName(0)”

同样,我们在这里也可以使用相同的技术。

ArrayValue(0)=“你好”
ArrayValue(1)=“好”
ArrayValue(2)=“早晨”

让我们在消息框中显示它。

代码:

 Sub ArrayList_Example1()将ArrayValues设置为ArrayList Set ArrayValues = New ArrayList ArrayValues.Add“ Hello”'第一个值ArrayValues.Add“ Good”'Second Value ArrayValues.Add“ Morning”'三个值MsgBox ArrayValues(0)&vbNewLine&ArrayValues( 1)&vbNewLine&ArrayValues(2)结束子 

现在,使用F5键或手动运行代码,然后在VBA消息框中看到“ Hello”,“ Good”和“ Morning”。

这样,我们可以使用数组列表对象存储任意数量的值。

Example#2 –使用VBA ArrayList将值存储到单元格

让我们看一下将分配的值存储到工作表中单元格的示例。现在,请看下面的VBA代码。

代码:

 Sub ArrayList_Example2()将MobileNames设为ArrayList,将MobilePrice设为ArrayList Dim i作为整数Dim k设为整数Set MobileNames = New ArrayList'移动设备MobileNames的名称。添加“ Redmi” MobileNames。添加“ Samsung” MobileNames。添加“ Oppo” MobileNames。添加“ VIVO” MobileNames。添加“ LG” Set MobilePrice = New ArrayList MobilePrice。添加14500 MobilePrice。添加25000 MobilePrice。添加18500 MobilePrice。添加17500 MobilePrice。添加17800 End Sub 

使用两个数组列表,我存储了移动设备的名称和移动设备的价格。现在我们需要将这些值插入工作表中,为此我们需要使用循环。下面的循环将为我完成这项工作。

下面是将值存储到工作表的总体代码。

代码:

 Sub ArrayList_Example2()将MobileNames设为ArrayList,将MobilePrice设为ArrayList Dim i作为整数Dim k设为整数Set MobileNames = New ArrayList'移动设备MobileNames的名称。添加“ Redmi” MobileNames。添加“ Samsung” MobileNames。添加“ Oppo” MobileNames。添加“ VIVO”移动名称。添加“ LG”设置MobilePrice =新的ArrayList移动​​价格。添加14500移动价格。添加25000移动价格。添加18500移动价格。添加17500移动价格。添加17800 k = 0对于i = 1至5个像元(i,1) .Value = MobileNames(k)单元格(i,2).Value = MobilePrice(k)k = k + 1下一个i结束子 

当我们手动运行代码或使用F5键运行时,我们将得到以下结果。