vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
大家好,我們今日繼續(xù)講解VBA代碼解決方案的第59講內(nèi)容:如何在代碼運(yùn)行時創(chuàng)建數(shù)組
。數(shù)組大家并不陌生,在之前我講過很多了,估計詳細(xì)闡述數(shù)組的只有我這個平臺可以找到了,今日講的是在VBA中代碼運(yùn)行的時候如何創(chuàng)建數(shù)組,為了實(shí)現(xiàn)這個目的,我們需要梳理一下下面的幾個知識點(diǎn):
1創(chuàng)建數(shù)組函數(shù):Array函數(shù)。這個函數(shù)返回一個包含數(shù)組的Variant,語法如下:Array(arglist)
Arglist參數(shù)是一個用逗號隔開的值表,這些值用于給Variant所包含的數(shù)組的各元素賦值。如果不提供Arglist參數(shù),則創(chuàng)建一個長度為 0 的數(shù)組。使用Array函數(shù)可以在代碼運(yùn)行時創(chuàng)建數(shù)組并把一系列數(shù)據(jù)保存在數(shù)組中,
2 LBound函數(shù)和UBound函數(shù)取得數(shù)組的最小和最大下標(biāo)。
LBound函數(shù):返回一個Long型數(shù)據(jù),其值為指定數(shù)組維可用的最小下標(biāo),
語法如下:LBound(arrayname[, dimension])
UBound函數(shù):返回一個Long型數(shù)據(jù),其值為指定數(shù)組維可用的最大下標(biāo),
語法如下:UBound(arrayname[, dimension])
參數(shù)arrayname是必需的,數(shù)組變量的名稱。
參數(shù)dimension是可選的,指定返回哪一維的下界,1表示第一維,2表示第二維,如此類推。默認(rèn)為1。
特別注意點(diǎn):UBound函數(shù)與LBound函數(shù)一起使用,可以用來確定數(shù)組的大小。
3 Option Base數(shù)組下界的聲明:Option Base用來聲明數(shù)組下標(biāo)缺省下界的函數(shù),在模塊級別中使用。由于下界的缺省設(shè)置是 0,因此無需使用 Option Base 語句。如果使用該語句,則必須寫在模塊的所有過程之前。一個模塊中只能出現(xiàn)一次 Option Base,且必須位于帶維數(shù)的數(shù)組聲明之前。注意 Dim、Private、Public、ReDim 以及 Static 語句中的 To 子句提供了一種更靈活的方式來控制數(shù)組的下標(biāo)。不過,如果沒有使用 To 子句顯式地指定下界,則可以使用 Option Base 將缺省下界設(shè)為 1。使用 Array 函數(shù)或 ParamArray 關(guān)鍵字創(chuàng)建的數(shù)組的下界為 0;Option Base 對 Array 或 ParamArray 不起作用。Option Base 語句只影響位于包含該語句的模塊中的數(shù)組下界。
示例代碼如下:
Option Base 1
Sub Myarr()
Dim arr As Variant
Dim i As Integer
arr = Array("A111", "A222", "A333", "A444", "A555", "A666", "A777", "A888")
For i = LBound(arr) To UBound(arr)
Sheets("kk").Cells(i, 1) = arr(i)
Next
End Sub
代碼解析:
Arr過程使用Array函數(shù)創(chuàng)建一個數(shù)組用來保存數(shù)據(jù)并將其寫入到工作表的單元格區(qū)域。
第1行代碼使用Option Base語句聲明數(shù)組下標(biāo)的缺省下界為1,數(shù)組下標(biāo)的缺省下界默認(rèn)為0。
第5行代碼使用Array函數(shù)創(chuàng)建數(shù)組用來保存數(shù)據(jù)。
第6行代碼使用LBound函數(shù)和UBound函數(shù)取得數(shù)組的最小和最大下標(biāo)。
第7行代碼確定數(shù)組的大小后使用For...Next語句遍歷數(shù)組元素并將數(shù)組元素依次寫入到工作表的A列單元格中。
代碼窗口:
運(yùn)行后的:
今日內(nèi)容回向:
1 創(chuàng)建數(shù)組用什么函數(shù)?
2 數(shù)組的上下界是如何取得的?
歡迎大家到我的自媒體平臺溝通交流:個人微信號“NZ9668”、頭條號“VBA專家”、百家號“VBA與GO語言”、微信公眾號“NZ_9668”、社群“VBA學(xué)習(xí)交流群”。
這一系列文章是根據(jù)我多年的工作經(jīng)驗編寫的,也是一直在利用的工具,非常方便好用?,F(xiàn)在分享出來,希望能對同樣在職場打拼的朋友有些許的幫助,使你的工作更加高效、流暢。朋友們有問題請隨時提出來,我們一起探討學(xué)習(xí)。對數(shù)據(jù)分析有需要的公司、組織或個人可以直接聯(lián)系我,及時為你提供專業(yè)的定制技術(shù)支持。
工作不是一切。工作是每個人安身立命、成長發(fā)展的基礎(chǔ)。但你要知道工作是永遠(yuǎn)也做不完的,時間會抹去很多問題。多關(guān)注自己、家人和朋友,這些才是我們生活中更為重要的東西。
總結(jié)
以上是生活随笔為你收集整理的vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 麦咭早教机器人_【今日吐槽】这句台词有毒
- 下一篇: webpack 编译stylus_web