VBA學習_2:數組:同類型的多個變量的集合


聲明數組:名稱、數據類型和數組大小

1、通過起始和終止索引號定義數組大小

  指定開始索引:Public | Dim 數組名稱(a To b) As 數據類型, a和b為整數(不能是變量),分別表示數組的開始和終止索引號,可保存數據個個數(b-a+1)個

  未指定開始索引:Public | Dim數組名稱(a) As 數據類型  ,從0開始到a個元素

Dim arr(1 To 100) As Byte   '定義一個Byte類型,名稱為arr,大小為100的數組
Dim arr(99) As Byte   '定義一個Byte類型,名稱為arr,大小為100的數組

2、給數組元素賦值

arr(20) = 56

聲明多維數組

  指定開始索引:Public | Dim 數組名稱(a To b,  x To y) As 數據類型  

  未指定開始索引:Public | Dim 數組名稱(b,  y) As 數據類型   

  定義一個b行,y列的二維數組

聲明動態數組

  Public | Dim 數組名稱() As 數據類型 

重新定義數組大小

  ReDim 數組名稱(1 To a)  只能定義大小不能修改數據類型 

創建數組的其他方法

1、使用Array函數創建數組

Sub arrytest()
    Dim arr As Variant
    arr = Array(1, 2, 3, 4)
    Msybos "arr數組的第二個元素為 : " & arr(1)
End Sub

2、使用Split函數分割字符串創建數組

Sub arrytest()
    Dim arr As Variant
    arr = Split("char,huang,car,box", ",") '第一參數是字符串,第二個參數是分割符
    Msybos "arr數組的第二個元素為 : " & arr(1)
End Sub

3、通過單元格區域創建數組(索引從1開始)

Sub arrytest()
    Dim arr As Variant
    arr = Range("A1:C3").Value '把A1:C3數據保存到數組
    Range("E1:G3").Value = arr '把數組數據保存到表格E1:G3中
    Msybos "arr數組的第二個元素為 : " & arr(1)
End Sub

數組的運算

1、UBound(數組名稱,數組維度n) 數組n維度上的最大索引號(n可以缺默認第一維度)

Sub test()
    Dim arr(99) As Integer
    MsgBox UBound(arr)
End Sub

2、LBound(數組名稱,數組維度n)數組n維度上的最小索引號(n可以缺默認第一維度)

Sub test()
    Dim arr(99) As Integer
    MsgBox LBound(arr)
End Sub

3、UBound(數組名稱,數組維度n)-LBound(數組名稱,數組維度n)+1 :n維度上數組的元素個數

4、Join(數組名稱,拼接符號)函數把數組拼接為字符串(默認空格拼接)

5、把數組寫入單元格區域

Range("A1").Value = arr(2)
Sub test()
    Dim arr As Variant '定義一個Variant類型的變量
    arr = Array(1, 2, 3, 4, 5)
    '把數組arr數據寫入活動的工作表的A1:A5中
    Range("A1:A5").Value = Application.WorksheetFunction.Transpose(arr) 'Transpose把行數據轉為列
End Sub

聲明常量的同時給常量賦值

  過程內部使用Const(本地常量): Const 常量名稱 As 常量類型 = 存儲在常量中是數據

  模塊的第一過程之前使用Const(模塊級常量) :Const 常量名稱 As 常量類型 = 存儲在常量中是數據

  模塊的第一個過程之前使用Public(公共常量):Public 常量名稱 As 常量類型 = 存儲在常量中是數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM