日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

VBA圖文教程:數組、集合與字典

VBA圖文教程:數組、集合與字典

更新時間:2023-12-20 文章作者:未知 信息來源:網絡 閱讀次數:

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。

之前的一些文章,我們詳細解了集合、數組和字典這三種常用的數據結構。在本文中,我們簡單小結一下,看看它們之間有哪些區別,以鞏固所學的知識。

存儲的類型

數組

數組是一組具有相同名稱的同類元素。可用來存儲多個相同類型的變量。

集合

集合可以用來存儲不同的數據類型。

字典

字典可以用來存儲不同的數據類型。

注意,在數組中,可以存儲用戶定義類型。然而,不能在字典或集合中存儲用戶定義類型。

變量聲明

數組

在聲明數組變量時,可以指定數組的大小,如:

Dim MyArray(5) As Integer

也可以先不指定數組的大小:

Dim MyArray() As Integer

在使用之前,須指定其大小:

ReDim MyArray(5)

集合

可以先聲明集合變量:

Dim col As Collection

在需要使用該集合前創建集合對象:

Set col = New Collection

也可以在聲明的同時創建集合對象:

Dim col As New Collection

字典

創建字典對象,先要設置對庫文件Microsoft Scripting Runtime的引用。可以編寫聲明字典對象變量的代碼如下:

Dim dict As New Dictionary

或者:

Dim dict As Dictionary

Set dict = New Dictionary

對元素賦值

1.不能對集合中已有元素重新賦值。

2.可以修改字典元素的值。在給指定鍵的字典元素賦值時,如果指定鍵的字典元素已存在,則會修改該元素的值。如果指定鍵的字典元素不存在,則會添加新字典元素。

3.集合、字典都是對象,在返回整個對象時,應使用Set語句。

對元素的訪問

數組、集合、字典的存儲結構不同,決定了訪問其元素的差異。

數組

每個元素放置在固定的位置,我們需要知道其索引,來訪問它。例如:

Dim MyArray(5) As Integer

Dim i As Integer

For i = 0 To 5

MyArray(i) = i

Nexti

‘訪問第2個元素

Debug.Print MyArray(1)

數組的索引值默認從0開始。

集合

下面的代碼先聲明集合對象,然后在添加元素項時定義鍵值:

Dim col As Collection

Dim rng As Excel.Range

Dim sRangeName As String

Set col = New Collection

sRangeName= “RangeName”

Set rng = Range(sRangeName)

col.Add rng, sRangeName

此時,想從該集合中獲取特定元素項時,可以指定其位置(索引值),或者使用鍵值。如果你知道其是第一個添加到集合中的且位置沒有變化,可以使用索引值:

col.Item(1)

集合的索引值基于1。也可以使用鍵值:

col.Item(sRangeName)

集合的索引值從1開始。

字典

字典中有唯一標識元素的鍵,我們只需要使用這個鍵來訪問元素,而不需知道其具體的存放位置。

下面的代碼添加對象到字典中,其語法與添加元素項到集合中非常相似,只是鍵和元素參數的位置相反:

Dim dict As Scripting.Dictionary

Dim rng As Excel.Range

Dim sRangeName As String

Set dict = New Scripting.Dictionary

sRangeName= “RangeName”

Set rng = Range(sRangeName)

dict.Add sRangeName, rng

可以使用下面的語句來獲取指定鍵所在的元素項:

dict.Item(sRangeName)

添加元素

添加元素時,集合與字典的參數位置剛好相反,例如:

‘在集合中添加元素

col.Add Item:=6, Key:=”東區”

‘在字典中添加元素

dict.Add Key:=”東區”,Item:=6

然而,對于集合,沒有內置的方法來檢查是否已存在指定的鍵,但是可以使用Exists方法檢查字典中是否存在指字鍵。

什么時候使用

在編程時,通常要求我們能創建一個對象,能夠存放一組相關的值,并且能夠通過該對象便捷地處理存儲的值,數組、集合、字典都能實現這個目的。

數組

當有許多同類型的數據需要逐一處理時,可以使用數組。然而,數組的大小在使用之前通常是固定的,因此在知道數據數量的前提下使用數組。

集合

集合可任意添加或刪除元素,因此對于數量變化的數據使用集合更好。相對于數組,集合更容易使用一些,特別是添加元素、遍歷元素。然而,集合是只讀的,你可以添加或刪除集合中的元素,但不能修改其值。

字典

有一系列數據,但是需要獲取不重復元素值時,可以使用字典。

字典與集合

集合是一種很好的數據結構,在Excel對象模型中幾乎所有的容器結構都是使用集合,例如:Workbooks、Worksheets等。

然而,字典有更多的內置方法,使得其使用比集合更方便。特別是下列3個方法:

1.Exists方法:用來判斷字典中是否存在指定的鍵。(如果要在集合中檢查指定的鍵是否存在,則需要額外編寫一段代碼來完成)

2.Keys方法:返回一個數組,包含字典中所有的鍵。(同樣,集合中實現相同的目的需要編寫遍歷和填充的代碼)

3.RemoveAll方法:清除字典中所有的元素。

此外,正如前面提到的,字典允許我們修改鍵和值。并且,由于Dictionary對象使用了散列表和一些先進的排序和索引算法,因此字典的運行速度也快于集合的速度。

數組與集合

與使用數組相比,使用集合對象更便于訪問和維護:

1.集合成員可以添加在一個已經存在成員的前面或后面,這取決于該已有成員的鍵值或索引值。

2.集合成員可以通過它們的鍵值或索引值訪問。

3.集合成員可以通過它們的鍵值或索引值刪除。但是,利用一個索引值刪除多個成員時,應該從后面開始刪除,即從索引值較高的成員到索引值較低的成員,因為每次刪除成員后集合就要重新建立索引。

數組與字典、集合

正如前面提到的,在數組中,可以存儲用戶定義類型。然而,不能在字典或集合中存儲用戶定義類型。


Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 久久这里只有精品免费看青草 | 久久精品久久精品国产大片 | 国产欧美日韩免费一区二区 | 欧美成人精品一区二区 | 午夜天堂在线 | 在线观看精品视频一区二区三区 | 中文字幕视频一区二区 | 欧美极品video粗暴 | 亚洲中国日本韩国美国毛片 | 片免费观看网站视频 | 国产一区二区三区福利 | 手机看片日韩永久福利盒子 | 久久综合久久鬼色 | 一区国产视频 | 综合国产 | 成人免费视频播放 | 夜夜操天天操 | 日本网站免费 | 亚洲国产婷婷香蕉久久久久久 | 亚洲第一网色综合久久 | 色资源二区在线视频 | 日韩免费一级a毛片在线播放一级 | 久久久久国产一级毛片高清片 | 欧美日韩一区二区在线视频 | 无遮挡无遮挡91桃色在线观看 | 天天看夜夜 | 高清在线精品一区二区 | 国产精品玖玖玖在线观看 | 99久久影视 | 国产日本欧美在线观看 | 蜜桃精品免费久久久久影院 | 99热久久国产精品一区 | 久久日本精品99久久久久 | 日本午夜在线观看免费视频 | 桃色视频在线免费观看 | 鲁鲁狠色综合色综合网站 | 国产中出 | 九九亚洲精品 | 国产高清免费的视频 | 精品亚洲欧美无人区乱码 | 高清一本视频在线观看 |