在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 12

Dim 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 strings

ReDim myDynamicArray(5) 'This resets the array to 6 elements

请注意,使用ReDim关键字将清除Array的所有先前内容。为防止这种情况,您可以在Preserve之后使用关键字ReDim:

Dim myDynamicArray(5) As String

myDynamicArray(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

回到顶部