VBA阵列

本文概述

  • 数组类型
  • ReDim声明
  • 阵列尺寸
  • 阵列的优点
  • VBA阵列范例
  • 测试应用
该数组是一个存储位置, 能够存储多个值。所有值都必须具有相同的数据类型。
如果要在单个变量中存储相同数据类型的列表, 则可以使用数组进行存储。
通过使用数组, 你可以用相同的名称提及相关值。你可以使用下标或索引来区分它们。各个值称为数组的元素。它们从索引0到最高索引值是连续的。
数组类型 VBA中有两种类型的数组, 例如:
1.静态:静态显示具有可以存储的固定的预定数量的元素。你不能更改静态数组的数据类型的大小。当你使用已知实体(例如性别, 一周中的天数等)时, 这些功能非常有用。
例如:要创建静态数组, 请执行以下代码, 例如:
步骤1:首先在你的工作表上插入一个命令按钮。
步骤2:然后, 你将获得一个代码窗口并添加以下代码。
VBA阵列

文章图片
第3步:单击“命令”按钮, 你将获得输出, 如下面的屏幕快照所示。
VBA阵列

文章图片
2.动态:动态数组没有可以存储的固定的预定数量的元素。当你使用无法预先确定数字的实体时, 这些功能非常有用。
例如, 要创建动态数组, 请执行以下步骤, 例如:
步骤1:这次, 我们将从表中读取名称, 例如:
步骤2:在工作表上单击放置的Command按钮, 然后添加以下代码行。
VBA阵列

文章图片
第3步:单击“命令”按钮, 你将获得输出, 如下面的屏幕快照所示。
VBA阵列

文章图片
ReDim声明 ReDim语句用于声明动态数组变量, 还用于分配或重新分配存储空间。
ReDim的语法
ReDim [Preserve] varname (subscripts) [As type], [varname (subscripts) [As type]].

ReDim语句的语法包括以下部分, 例如:
部分 描述
Preserve (可选)用于更改最后一个维度的大小时将数据保留在现有数组中。
varname (必需)它是变量的名称。
Subscripts (必需)它是数组变量的尺寸。最多可以声明60个多维。下标参数使用以下语法:[lowerTo] upper, [[lowerTo] upper], … … . 如果未在下面明确声明, 则数组的下限由选项基语句控制。如果没有选项基本语句, 则下限为零。
Type (可选)这是变量的数据类型。它可以是Byte, Boolean, Long, Integer, Single, Double, Currency, Date, String, Object, Variant, 用户定义或对象类型。
ReDim语句用于调整动态数组的大小或大小, 该数组已通过使用带空括号的私有, 公共或Dim注释来声明。
你可以经常使用ReDim语句来更改元素的数量和数组中的尺寸。你不能声明一种数据类型的数组。
如果数组包含在变量中, 则可以通过使用As类型来更改元素的类型。如果使用preserve关键字, 则无权更改数据类型。
阵列尺寸 1.一维:一维仅使用一个索引数组。
例如, 每个年龄段的人很多。指定元素的唯一要求是年龄。该元素保持计数。
Dim agecount(100)作为UInteger
上面的示例声明了年龄计数的一维数组, 形式为0到100。
2.二维:数组在二维中使用两个索引。
例如, 每个班级有几个学生。它要求班数和每个班级的学生人数。
昏暗的学生人数(50, 5)以字节为单位
上面的示例声明了一个二维数组, 学生数为1到50, 班级为1到5。
3.多维:该数组在多维数组中使用了两个以上的索引。
例如, 白天的温度(29、30、32)。
昏暗的温度(29、30、32)单
阵列的优势 数组有一些优点, 例如:
  • 它将逻辑上相关的数据分组在一起。例如, 如果要存储学生列表, 则可以使用单个数组变量。它针对高中, 中学, 小学等学生类别设有单独的位置。
  • 该数组使编写明智的代码变得容易。对于相同的逻辑相关数据, 它允许定义一个变量, 而不是定义多个变量。
  • 数组可提供更好的性能。定义数组后, 可以更快地排序, 检索和修改数据。
VBA阵列范例 让我们从一个简单的应用程序开始。此应用程序占用Excel表格, 其中包含来自数组变量的数据。在此示例中, 我们需要执行以下操作:
  • 在Microsoft Excel中创建一个新工作簿并将其另存为启用了Excel宏的工作簿(* .xlsm)
  • 在工作簿中添加一个命令按钮。
  • 设置命令按钮的名称和标题属性。
  • 然后编写填充Excel工作表的代码。
让我们执行以下步骤, 例如:
步骤1:创建一个新的工作簿。
  1. 打开Microsoft Excel。
  2. 并以.xlsm扩展名保存新工作簿。
步骤2:在工作表中添加一个命令按钮。
VBA阵列

文章图片
  1. 将name属性设置为cmdLoad Beverages。
  2. 设置标题属性以加载饮料。
  3. 现在, 图形用户界面如下所示。
VBA阵列

文章图片
步骤3:保存excel文件。
  1. 单击另存为按钮。
  2. 然后选择Excel Macro-Enabled Workbook(* .xlsm)作为文件类型, 如下面的屏幕快照所示。
VBA阵列

文章图片
步骤4:在代码窗口中编写代码。
  1. 单击宏按钮, 然后选择“进入”选项。
  2. 然后将以下代码添加到cmdLoad Beverages的click事件中。
VBA阵列

文章图片
测试应用 步骤1:选择“开发人员”选项卡。
步骤2:然后关闭“设计模式”按钮。
VBA阵列

文章图片
步骤3:指示器为绿色, 背景变为绿色, 如下面的屏幕截图所示。
VBA阵列

文章图片
步骤4:点击Load Beverages(加载饮料)按钮。
【VBA阵列】步骤5:显示代码输出, 如以下屏幕截图所示。
VBA阵列

文章图片

    推荐阅读