首页 > 代码库 > 【VBA编程】08.数组

【VBA编程】08.数组

【数组简介】
数组其实就是一组相同类型的数据的有序集合,其形象表示就像线性表。在存储数据的时候,首先在内存中分配一个连续的存储空间,将各个元素按顺序存放在连续的存储单元格中。
【定义静态数组】
Dim 数据组(数据元素的上下界,...) As 数据类型
Dim a(10) As Integer ‘其数组名为a 其下标从0开始,下界为10 期中可访问的元素为a(0)到a(10)
Dim b(1 To 10) As Double ‘可访问元素为a(1)到a(10)
【Tips】
(1)多维数组的维数最高可达60维
(2)使用静态数组时,必须指明数组的上界和下界及数组的维数,且数组中的上下界必须使用常量,不能使用变量
(3)每个数组元素只能存储一个数据
【代码区域】

Private Sub 数组初始化()
    Dim yunnan(1 To 4) As String
    yunnan(1) = "昆明"
    yunnan(2) = "曲靖"
    yunnan(3) = "昭通"
    yunnan(4) = "大理"
    yunnan(4) = "玉溪"
    For Each city In yunnan
     Debug.Print city
    Next
End Sub

【执行结果】

技术分享

【二维静态数组】
【代码区域】

Private Sub 矩阵赋值()
    Dim i As Integer
    Dim j As Integer
    Dim a(1 To 3, 1 To 5) As Integer
    使用i与j的乘积填入数组
    For i = 1 To 3
     For j = 1 To 5
      a(i, j) = i * j
      Next j
    Next i
    For i = 1 To 3
     For j = 1 To 5
      Debug.Print "a(" & i & ", " & j & ")=" & a(i, j) & Space(5);
      Next j
     Debug.Print
    Next i
      
End Sub

【结果展示】

技术分享

【二维动态数组】
Dim 数组名() As 数据类型
Dim a() As Double

【代码区域】

Private Sub 数组赋值()
    Dim a(1 To 3) As Integer
    Dim b() As Integer
    Dim i As Integer
    初始化数组a中的值
    For i = 1 To 3
        a(i) = i
        Next
        b = a
        打印a数组的值
        Debug.Print "a数组的值为:"
        Debug.Print "a(1)=" & a(1)
        Debug.Print "a(2)=" & a(2)
        Debug.Print "a(3)=" & a(3)
        打印b数组的值
        Debug.Print "b数组的值为:"
        Debug.Print "b(1)=" & b(1)
        Debug.Print "b(2)=" & b(2)
        Debug.Print "b(3)=" & b(3)
End Sub

【结果展示】

技术分享

 

【VBA编程】08.数组