聲明數組:名稱、數據類型和數組大小
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 常量類型 = 存儲在常量中是數據