小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【20180914】- VBA中數組、集合和字典(四)——集合的常用方法和屬性

 風中的王國 2021-02-14

大家好,我是中藥黨。

上次我們一塊學習了ExcelVBA中和數組相關的一些常用函數的用法,這次我們來介紹集合的常用方法和屬性。

VBA中的集合是用戶定制的一組數據信息,存放于一個特殊的一維數組中,但和數組不同的是,對集合中的數據類型,沒有任何限制,也不需要數據類型相同,比如,數值、文本、工作表、工作簿等等都可以加入集合。

但是有的小伙伴會問了,說集合是一個一維數組,那么為啥不直接建立一個一維數組來存儲信息,而要使用集合對象呢?

答案很簡單,因為使用集合處理可以簡化處理過程,節(jié)省代碼量。

比如,我們要向一個不定長度的一維數組中添加元素,代碼如下圖:

而如果我們要向集合中添加成員,代碼就非常簡單,如下圖:

從上邊的例子很容易看出,用集合來處理這種問題會非常方便,下邊我們就詳細介紹一下集合中幾種方法的使用。

1.Add方法和Item方法

集合的Add方法用來添加一個成員到Collection對象,Item方法利用位置或鍵(key)返回Collection 對象的指定成員。

Add語法:object.Add  item, key, before, after

參數

描述

object

必需的。代表一個集合對象。

item

必需的。指定要添加到集合中的成員,可以是任何數據類型。

key

可選參數。唯一字符串表達式,指定可以使用的鍵字符串,代替位置索引來訪問集合中的成員。

before

可選參數。指定集合中的相對位置。在集合中將添加的成員放置在 before 參數識別的成員之前。如果為一數值表達式,則 before 必須是介于 1 和集合 Count 屬性值之間的值。如果為一字符串表達式,則當添加一個被引用的成員到集合時,before 必須對應于指定的 key 值??梢灾付?before 位置或 after 位置,但不能同時指定這兩個位置。

after

參考同上邊before的描述

Item語法:object.Item(index)

Index參數:指定集合中成員的位置。如果是數值表達式,則 index 必須是從 1 到集合Count 屬性值之間的數值。如果是字符串表達式,則當加入一被引用的成員到集合時,index 必須和 key 參數對應。

下邊我們看幾個使用方法添加集合成員的例子:

①按順序添加集合成員。得到的集合是索引從1開始的自然數,用Item(3)取得集合中第三個成員,如下圖:

②按順序添加集合成員,為集合成員設置字符索引(其實就是起個別名)。得到的集合不僅可以用數字索引取得,也可以用字符索引取得,如下圖:

③使用before和after添加集合成員可以改變新添加成員的順序。Before和after的參數可以設置為數值,也可以設置為已設置的字符索引(key),表示在現在集合相應索引位置的前邊或者后邊添加新成員。

④可選參數的設置方法。Add方法的參數有四個,除了第一個參數是必需參數,其余參數都是可選參數,當不設置中間可選參數,要設置后邊的可選參數時,中間的可選參數要用逗號隔開,表示不設置這個位置的可選參數。如下圖:

⑤Item是集合的默認缺省方法

Item 方法是集合的缺省方法。因此,以下兩行程序代碼等價:

有的小伙伴提出這樣的問題,如果我想替換集合中某個位置的元素,能不能給該位置的元素賦值呢?如下圖:

在集合中,Item是集合的方法,并不是集合的屬性,是無法通過等號賦值的。正確的做法是在Item(i)之前添加成員,原來的Item(i)就順移到Item(i+1),然后再將item(i+1)刪掉,這樣就達到了目的。如下圖:

2.Remove方法

集合的Remove方法就是把成員從Collection 對象中刪除。

語法:object.Remove index

Index參數:必需的。表達式,指定集合成員的位置。如果是數值表達式,則 index 必須是介于 1 和集合Count 屬性值之間的數。如果是字符串表達式,則為成員用Add方法添加到集合時,為成員設置的字符串索引key。

①通過數字索引刪除集合成員

移除掉原來集合中Item(1)位置的成員,原來Item(2)位置的成員就順移到Item(1)位置,如下圖:

②也可以通過添加成員時設置的字符串索引移除集合成員。

3.Count屬性

集合的唯一一個屬性,返回包含集合中的對象數目,類型是Long(長整數),只讀。

該屬性取得一個集合的成員個數,最常用的場景是在循環(huán)遍歷某個集合中使用,如下圖:

集合在平常的使用是非常的多,但是使用起來卻是比較簡單,只有三個方法(Add、Item和Remove)和一個屬性(Count),即使是參數較多的Add方法,在平常的大部分使用場景中,也很少用到后邊幾個可選參數。小伙伴們在操作數量不定的多工作簿、多工作表或者多個Range區(qū)域的時候,很大程度都會要用到集合,所以,在遇到類似問題時,盡量用集合操作而非一維動態(tài)數組。今天就說到這里,歡迎小伙伴們提出問題、多多交流。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多