VBA程式設計 10 自定義集合

2022-01-30 20:51:10 字數 3414 閱讀 8521

自定義集合型別,類似於變數宣告,只是要將dim關鍵字和new collection關鍵字搭配起來使用,其語法描述如下:其中集合名的命名方式同於標準變數的命名

dim 集合名 as new collection

對於已經定義的集合物件,可以使用集合的add方法向集合中新增元素,語法如下:

集合名.add item[,key] [,before] [,after]
item:是乙個必要的引數,表示將要新增到集合的物件名稱

key: 是乙個可選引數,表示該物件在集合中以關鍵字表示,以供訪問結合元素時,能夠按照關鍵字訪問

before:表示位於乙個物件之前,其值為集合中某一物件的索引號

after:表示位於乙個物件之後,其值為集合中某一物件的索引號

【環境準備】

首先插入「類模組」

修改「類模組」名稱

雙擊修改後的「類模組」名稱,並在**視窗寫下如下**:

然後,新建插入「模組」

【**區域】

sub

自定義集合()

dim zdyjh as

new collection '

自定義乙個集合

dim obj as classname '

定義乙個物件

dim num as

integer

'定義乙個計數器

set obj = new classname '

對乙個變數賦值

obj.name = "楊過"

'為物件的屬性賦值

zdyjh.add item:=obj, key:="

first"'

將物件新增到集合中

set obj = new classname '

新建乙個物件

obj.name = "郭靖"

zdyjh.add item:=obj, key:="

second

"set obj = new

classname

obj.name = "黃蓉"

zdyjh.add item:=obj, key:="

third

"for i = 1to2

debug.print

next

'輸出現有集合中的元素

debug.print "

現有集合中共有

" & cstr(zdyjh.count) & "

個元素,個元素舉例如下:

"debug.print

num = 1

foreach tempobj in

zdyjh

debug.print "第

" & cstr(num) & "

物件名字為:

" & tempobj.name '

cstr函式將資料強制轉換為字元

debug.print

num = num + 1

next

set obj = new

classname

obj.name = "段譽"

zdyjh.add item:=obj, key:="

forth

", before:=2

debug.print

"在第2個物件之前插入物件後,集合中共有

" & cstr(zdyjh.count) & "

個元素,各元素列舉如下:

"debug.print

num = 1

foreach tempobj in

zdyjh

debug.print "第

" & cstr(num) & "

物件的名字為:

" &tempobj.name

debug.print

num = num + 1

next

set obj = new

classname

obj.name = "

胡八一"

zdyjh.add item:=obj, key:="

five

", after:=3

debug.print

"在第三個物件之後插入物件後,集合共有

" & cstr(zdyjh.count) & "

個元素,各元素列舉如下:

"debug.print

num = 1

foreach tempobj in

zdyjh

debug.print "第

" & cstr(num) & "

物件的名字為:

" &tempobj.name

debug.print

num = num + 1

next

'移除第三個物件

zdyjh.remove (3

) debug.print

"刪除第三個物件之後,集合共有

" & cstr(zdyjh.count) & "

個元素,各元素列舉如下:

"debug.print

num = 1

foreach tempobj in

zdyjh

debug.print "第

" & cstr(num) & "

物件的名字為:

" &tempobj.name

debug.print

num = num + 1

next

end sub

【結果展示】

立即視窗列印結果為:

現有集合中共有3個元素,個元素舉例如下:

第1物件名字為:楊過

第2物件名字為:郭靖

第3物件名字為:黃蓉

在第2個物件之前插入物件後,集合中共有4個元素,各元素列舉如下:

第1物件的名字為:楊過

第2物件的名字為:段譽

第3物件的名字為:郭靖

第4物件的名字為:黃蓉

在第三個物件之後插入物件後,集合共有5個元素,各元素列舉如下:

第1物件的名字為:楊過

第2物件的名字為:段譽

第3物件的名字為:郭靖

第4物件的名字為:胡八一

第5物件的名字為:黃蓉

刪除第三個物件之後,集合共有4個元素,各元素列舉如下:

第1物件的名字為:楊過

第2物件的名字為:段譽

第3物件的名字為:胡八一

第4物件的名字為:黃蓉

他山之石 VBA自定義函式

vba自定義函式自己是最近才開始使用的。其好處是可在工作表中直接呼叫,很方便。這裡,這位老師總結的很好,學習了!1 什麼是自定義函式?在vba中有vba函式,我們還可以呼叫工作表函式,我們能不能自已編寫函式呢?可以,這就是本集所講的自定義函式 2 怎麼編寫自定義函式?我們可以按下面的結構編寫自定義函...

VBA使用者自定義函式

函式是一組可重複使用的 可以在程式中的任何地方呼叫。這消除了一遍又一遍地編寫相同的 的需要。這使程式設計師能夠將乙個大程式劃分成許多小的可管理的功能模組。除了內建函式外,vba還允許編寫使用者定義的函式。乙個vba函式可以有乙個可選的return語句。如果要從函式返回值,則可使用return語句。例...

自定義集合型別

很多時候我們去自定義一些型別,更有些時候我們會把這些自定義型別封裝成集合,比如說現在有乙個自定義型別user 使用者 class user 使用者名稱 public string username 使用者這密碼 public string password 一般情況下,我們封裝集合時,是用泛型的li...