在VBA中声明数组
示例
声明数组与声明变量非常相似,除了需要在数组名称后立即声明数组的维数:
Dim myArray(9) As String 'Declaring an array that will contain up to 10 strings
默认情况下,VBA中的数组是从ZERO索引的,因此,括号内的数字不是指向数组的大小,而是指向最后一个元素的索引
访问元素
通过使用数组名称,后跟括号内的元素的索引来访问数组的元素:
myArray(0) = "first element"myArray(5) = "sixth element"
myArray(9) = "last element"
数组索引
您可以通过将以下行放在模块顶部来更改数组索引:
Option Base 1
通过这一行,模块中声明的所有Array将从ONE索引。
具体指标
您还可以通过使用To关键字以及上下限(=索引)来声明每个具有自己索引的数组:
Dim mySecondArray(1 To 12) As String 'Array of 12 strings indexed from 1 to 12Dim myThirdArray(13 To 24) As String 'Array of 12 strings indexed from 13 to 24
动态声明
如果在声明数组之前不知道数组的大小,可以使用动态声明和ReDim关键字:
Dim myDynamicArray() As Strings 'Creates an Array of an unknown number of stringsReDim myDynamicArray(5) 'This resets the array to 6 elements
请注意,使用ReDim关键字将清除Array的所有先前内容。为防止这种情况,您可以在Preserve之后使用关键字ReDim:
Dim myDynamicArray(5) As StringmyDynamicArray(0) = "Something I want to keep"
ReDim Preserve myDynamicArray(8) 'Expand the size to up to 9 strings
Debug.Print myDynamicArray(0) ' still prints the element
以上是 在VBA中声明数组 的全部内容, 来源链接: utcz.com/z/330637.html