1.單維數(shù)組1.1 聲明數(shù)組聲明1個1~50的數(shù)組,可以將區(qū)間值寫出來 Option Base 1Dim SZ(50) As String 1.2 數(shù)組賦值當(dāng)數(shù)組聲明好了之后,我們可以給數(shù)組賦值
2.多維數(shù)組2.1 二維數(shù)組VBA還支持 橫向、縱向 同時(shí)存在的列表型數(shù)組,比如,我們聲明一個3*20的數(shù)組 Option Base 1Dim SZ(3,20) As String 2.2 三維數(shù)組假設(shè),有4個高3層、寬5格的貨架,用數(shù)組可以這樣來表示
2.3 多維數(shù)組的賦值方式與單維數(shù)組的賦值方式一樣 Sub dwsz() Dim SZ(3,2,4)As String SZ(1,2,3) = 'Max'End Sub 3.動態(tài)數(shù)組3.1 聲明數(shù)組當(dāng)無法確定數(shù)組的存儲元素多少時(shí),我們可以先聲明一個空的數(shù)組:
3.2 數(shù)組賦值方法1:使用Array函數(shù)數(shù)組內(nèi),參數(shù)間用英文逗號分隔,參數(shù)支持?jǐn)?shù)字、文本 Sub ArrayTest() Dim arr As Variant '定義變量時(shí),類型必須為Variant型 '將1到10十個自然數(shù)賦值給數(shù)組arr arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) MsgBox 'arr數(shù)組的第2個元素為' & arr(1)End Sub 方法2:使用Split函數(shù)數(shù)組內(nèi),參數(shù)間用英文逗號分隔,參數(shù)僅支持文本
數(shù)組的索引號默認(rèn)從0開始,無論是否已寫入'Option Base 1'語句 方法3:使用Range函數(shù)可以把一個單元格區(qū)域的值存到數(shù)組里,也可以把數(shù)組里的值寫到單元格里去 Sub RngArr() Dim arr As Variant arr = Range('A1:B2').Value '將A1:B2單元格的內(nèi)容存到數(shù)組arr里 Range('C1:D2').Value = arr '將arr的數(shù)據(jù)寫入到C1:D2單元格里去End Sub 4.數(shù)組的其他操作4.1 數(shù)組索引(UBound、LBound)通過UBound和LBound函數(shù),可以計(jì)算數(shù)組的最大、最小索引號
如果是一個多位數(shù)組,還需要指定數(shù)組的維度,比如: Sub arrcount2() Dim arr(49, 100) MsgBox '第1維的最大索引是:' & UBound(arr, 1) & Chr(13) & '第2維的最小索引是:' & LBound(arr, 2)End Sub 4.2 數(shù)組拼接(join)使用join函數(shù),可以將數(shù)組里的所有元素,通過一個指定的拼接符號,拼成一個新的字串
4.3 將數(shù)組寫入單元格(range)使用range函數(shù),可以將數(shù)組寫入單元格、區(qū)域 Sub ArrToRng() Dim arr As Variant arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) '將數(shù)組的第3個元素寫入單元格A1 Range('A1').Value = arr(3) '將數(shù)組批量寫入單元格(橫向) Range('B1', 'J1').Value = arr '將數(shù)組批量寫入單元格(縱向) Range('A2:A10').Value = Application.WorksheetFunction.Transpose(arr)End Sub 無論1維數(shù)組還是2維數(shù)組,在寫入單元格區(qū)域時(shí),區(qū)域的大小,與數(shù)組的大小需要保持一致
|
|