• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

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

        VBA圖文教程:數(shù)組、集合與字典

        VBA圖文教程:數(shù)組、集合與字典

        更新時間:2023-12-20 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

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

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

        存儲的類型

        數(shù)組

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

        集合

        集合可以用來存儲不同的數(shù)據(jù)類型。

        字典

        字典可以用來存儲不同的數(shù)據(jù)類型。

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

        變量聲明

        數(shù)組

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

        Dim MyArray(5) As Integer

        也可以先不指定數(shù)組的大小:

        Dim MyArray() As Integer

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

        ReDim MyArray(5)

        集合

        可以先聲明集合變量:

        Dim col As Collection

        在需要使用該集合前創(chuàng)建集合對象:

        Set col = New Collection

        也可以在聲明的同時創(chuàng)建集合對象:

        Dim col As New Collection

        字典

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

        Dim dict As New Dictionary

        或者:

        Dim dict As Dictionary

        Set dict = New Dictionary

        對元素賦值

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

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

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

        對元素的訪問

        數(shù)組、集合、字典的存儲結(jié)構(gòu)不同,決定了訪問其元素的差異。

        數(shù)組

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

        Dim MyArray(5) As Integer

        Dim i As Integer

        For i = 0 To 5

        MyArray(i) = i

        Nexti

        ‘訪問第2個元素

        Debug.Print MyArray(1)

        數(shù)組的索引值默認從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開始。

        字典

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

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

        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)

        添加元素

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

        ‘在集合中添加元素

        col.Add Item:=6, Key:=”東區(qū)”

        ‘在字典中添加元素

        dict.Add Key:=”東區(qū)”,Item:=6

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

        什么時候使用

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

        數(shù)組

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

        集合

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

        字典

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

        字典與集合

        集合是一種很好的數(shù)據(jù)結(jié)構(gòu),在Excel對象模型中幾乎所有的容器結(jié)構(gòu)都是使用集合,例如:Workbooks、Worksheets等。

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

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

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

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

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

        數(shù)組與集合

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

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

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

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

        數(shù)組與字典、集合

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


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

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

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 无码中文字幕av免费放dvd| 久久99热精品免费观看牛牛| 大香人蕉免费视频75| 亚洲国产精品免费观看| 在线亚洲午夜片AV大片| 午夜国产精品免费观看| 亚洲午夜精品一级在线播放放| 亚洲精品网站在线观看你懂的| 日韩精品在线免费观看| 中文字幕亚洲第一在线| 中文字幕乱码免费视频| 国产精品亚洲成在人线| 色欲aⅴ亚洲情无码AV| 亚洲第一区精品日韩在线播放| 亚洲a级在线观看| 成人人观看的免费毛片| 美女无遮挡免费视频网站| 亚洲国产精品一区二区第一页免| 一边摸一边桶一边脱免费视频| 亚洲日韩精品射精日| 美女视频黄频a免费| 久久亚洲AV永久无码精品| 色偷偷亚洲男人天堂| 久久久久亚洲AV成人网人人网站| 久久久精品视频免费观看 | 亚洲人精品亚洲人成在线| 在线观看视频免费国语| 日韩在线观看免费完整版视频| 国产亚洲高清不卡在线观看| 最近的中文字幕大全免费8| 亚洲欧好州第一的日产suv| 亚洲日韩在线观看| 精品国产免费人成电影在线观看| 亚洲av永久中文无码精品综合 | 成人永久福利免费观看| 91亚洲性爱在线视频| 精品免费视在线观看| 亚洲日产韩国一二三四区| 成人免费在线看片| 无遮挡a级毛片免费看| 久久久无码精品亚洲日韩京东传媒 |