vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建
大家好,我們今日繼續(xù)講解VBA數(shù)組與字典解決方案,今日講解第18講:VBA數(shù)組如何定義,又該如何創(chuàng)建呢?
從這一講開始,我們開始進(jìn)入VBA數(shù)組階段,VBA數(shù)組和工作表數(shù)組有著不同的意義,在很大程度上,工作表數(shù)組的運(yùn)算甚至可以看做是程序的運(yùn)行,能夠理解工作表數(shù)組的運(yùn)算過程對(duì)于VBA代碼的書寫是非常有益的,但VBA數(shù)組在大多數(shù)情況下,只是作為變量來存儲(chǔ)數(shù)據(jù)。這點(diǎn)和工作表數(shù)組有很大的不同。
一、什么是VBA數(shù)組 所謂VBA數(shù)組,就是共享一個(gè)名字,有著多個(gè)元素按順序排列的變量。數(shù)組中的數(shù)據(jù)具有相同的類型和結(jié)構(gòu),元素通過索引加以區(qū)分。這里我把數(shù)組的元素看做變量來對(duì)待,大家要注意,這個(gè)觀點(diǎn)在應(yīng)用過程中是非常有意義的。
二、如何定義數(shù)組 數(shù)組在使用前必須要進(jìn)行聲明,聲名數(shù)組同聲明其他變量的方式一樣,也是用Dim語句來聲明。唯一不同的是數(shù)組有大小,即有多少個(gè)元素,或者說變量,還有就是要說明數(shù)組的維數(shù)。一般情況下使用較多的是一維數(shù)組和兩維數(shù)組,需要注意的是數(shù)組要以字母開頭,所用的字符僅限字母、數(shù)字和下下劃線,不允許出現(xiàn)標(biāo)點(diǎn)符號(hào)和空格。當(dāng)聲明了一個(gè)數(shù)組,便決定了這個(gè)數(shù)組用于存儲(chǔ)數(shù)數(shù)據(jù)所用的內(nèi)存空間。
默認(rèn)情況下數(shù)組是以0為下屆,也就是Option Base 0大多數(shù)情況下我們都是遵守此默認(rèn)情況的,并且在用數(shù)組時(shí)忽略數(shù)組的第一個(gè)元素,上屆不能超過LONG數(shù)據(jù)類型的范圍,而且上屆值不能小于下屆值。
如果我們習(xí)慣了用1作為我們的下界,可以強(qiáng)制聲明:Option Base 1,需要注意的是Option Base 0(1)必須放在所有模塊之前。當(dāng)然,我們也可以忽略這個(gè)強(qiáng)制聲明,那我們就需要在聲明數(shù)組時(shí),指明數(shù)組的上界和下界,如:Dim arrSheetName(1 to 3) as String表明這個(gè)數(shù)組的上下界分別是1和3
下面我們講通過一個(gè)實(shí)例來說明數(shù)組的聲明及賦值,如下面的代碼:
Sub Mynzsz() '第18講 VBA數(shù)組的定義及創(chuàng)建
Dim i As Integer, j As Integer
Dim arr(1 To 10, 1 To 2) As Integer '定義一個(gè)10*2的二維數(shù)組(10行,2列)
j = 1 '數(shù)組1 to 10的索引號(hào)
For i = 1 To 20 Step 2
arr(j, 1) = i '賦值
arr(j, 2) = i + 1 '賦值
j = j + 1 '索引號(hào)增加
Next
[a1:b65536].ClearContents '清除原有數(shù)據(jù)
[a1].Resize(10, 2) = arr '將數(shù)組賦值給A1單元格向下10行,向右2列的區(qū)域
End Sub
代碼截圖:
代碼講解:
1 Dim arr(1 To 10, 1 To 2) As Integer 這里給出了數(shù)組的范圍最小的是arr(1, 1),最大的是
arr(10, 2)
2 [a1].Resize(10, 2) = arr 講數(shù)組回填給工作表。大家是否理解arr的意義呢?我們看看下面的圖:
arr 是一個(gè)集合。這個(gè)集合包括了20個(gè)元素(或者叫變量),分別是arr(1,1);arr(2,1);arr(1,2);arr(2,2);arr(1,3);arr(2,3);arr(1,4);arr(2,4);arr(1,5);arr(2,5);arr(1,6);arr(2,6);arr(1,7);arr(2,7);arr(1,8);arr(2,8);arr(1,9);arr(2,9);arr(1,10);arr(2,10)
運(yùn)行后:
今日內(nèi)容回向:
1 什么是VBA數(shù)組。
2 VBA數(shù)組如何聲明?
總結(jié)
以上是生活随笔為你收集整理的vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python缓存技术_Python中整数
- 下一篇: 获得有向无环图中起点到终点的所有路径_力