VBA數組賦值(2/2)-- 二維數組

以前的博客文章中講過一些數組的使用技巧,經常會被網友問道如何給數組賦值,本文講解如何爲二維數組賦值(或者說如何創建二維數組)。

藉助工作表爲二維數組賦值就非常簡單直接了,示例代碼如下。

Sub demo4()
    Dim myArray
    myArray = Range("A1:C3")
    Stop
End Sub

如願以償的生成了3x3的二維數組。
在這裏插入圖片描述
如果數組中的數據是在代碼中生成的,也不是必須要藉助工作表單元格,才能實現爲二維數據賦值,很多時候從代碼執行效率考慮,一般都儘量少對工作表對象進行讀寫操作。示例代碼如下。

Sub demo5()
    Dim myArray1, myArray2
    myArray1 = [{"1","11","111";"2","22","222";"3","33","333"}]
    myArray2 = Array(Array("1", "11", "111"), Array("2", "22", "222"), Array("3", "33", "333"))
    Stop
End Sub

運行結果如下。第3行代碼實現與demo4中完全相同的結果。其中[ ... ]Evaluate方法簡寫形式。
在這裏插入圖片描述
第4行代碼產生的是一個嵌套數組,也是有3個元素的一維數組,但是每個元素中保存的數據仍然是數組,例如myArray2(1)是個包含3個元素的數組,其值分別爲"1", "11", "111",注意這種嵌套數組的引用方式與普通二維數組是不同的(插圖中黃色高亮部分)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章