VBA编程-使用数组
时 间:2023-01-12 11:46:47
作 者:福哥(QQ86053924) ID:1784 城市:成都
摘 要:您可以声明一个数组以处理一组相同数据类型的值。 数组是具有多个可存储值的隔离舱的单个变量,而典型的变量只有一个存储隔离舱,其中只能存储一个值。 您可以在需要引用数组中包含的所有值时将数组作为整体引用,也可以引用其中的单个元素。
正 文:
VBA编程-使用数组
您可以声明一个数组以处理一组相同数据类型的值。 数组是具有多个可存储值的隔离舱的单个变量,而典型的变量只有一个存储隔离舱,其中只能存储一个值。 您可以在需要引用数组中包含的所有值时将数组作为整体引用,也可以引用其中的单个元素。
例如,若要存储一年中每天的日常开支,您可以声明一个具有 365 个元素的数组变量,而不是声明 365 个变量。 数组中的每个元素包含一个值。 以下语句声明具有 365 个元素的数组变量。 默认情况下,数组的索引从零开始,因此该数组的上限是 364 而不是 365。
VB复制
Dim curExpense(364) As Currency
若要设置单个元素的值,您可以指定该元素的索引。 以下示例向该数组中的每个元素均分配一个初始值 20。
VB复制
Sub FillArray()
Dim curExpense(364) As Currency
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
End Sub
更改下限
使用 模块顶部的 Option Base 语句将第一个元素 的默认索引从 0 更改为 1。 在下面的示例中, Option Base 语句更改第一个元素的索引, Dim 语句声明包含 365 个元素的数组变量。
VB复制
Option Base 1
Dim curExpense(365) As Currency
也可以通过使用 To 子句明确设置数组的下限,如以下示例所示。
VB复制
Dim curExpense(1 To 365) As Currency
Dim strWeekday(7 To 13) As String
在数组中存储 Variant 值
有两种方法可以创建 Variant 值的数组 。 一种是声明 Variant 数据类型的数组,如以下示例所示:
VB复制
Dim varData(3) As Variant
varData(0) = "Claudia Bendel"
varData(1) = "4242 Maple Blvd"
varData(2) = 38
varData(3) = Format("06-09-1952", "General Date")
另一种方法是将 Array 函数返回的数组分配给 Variant 变量,如以下示例所示:
VB复制
Dim varData As Variant
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _
Format("06-09-1952", "General Date"))
无论使用哪种方法创建数组,均可通过索引识别 Variant 值的数组中的元素。 例如,以下语句可添加到上述两个示例中的任意一个示例中。
VB复制
MsgBox "Data for " & varData(0) & " has been recorded."
使用多维数组
在 Visual Basic 中,您可以声明最多包含 60 个维度的数组。 例如,以下语句声明了一个二维、5*10 的数组。
VB复制
Dim sngMulti(1 To 5, 1 To 10) As Single
如果将数组看作矩阵,则第一个参数表示行,第二个参数表示列。
使用嵌套 For...处理 多维数组的下一语句。 以下过程使用 Single 值填充一个二维度组。
VB复制
Sub FillArrayMulti()
Dim intI As Integer, intJ As Integer
Dim sngMulti(1 To 5, 1 To 10) As Single
' 用值填充数组。
For intI = 1 To 5
For intJ = 1 To 10
sngMulti(intI, intJ) = intI * intJ
Debug.Print sngMulti(intI, intJ)
Next intJ
Next intI
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)