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