【VBA编程】10.自定义集合
自定义集合类型,类似于变量声明,只是要将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 = 1 To 2 Debug.Print Next '输出现有集合中的元素 Debug.Print "现有集合中共有" & CStr(zdyjh.Count) & "个元素,个元素举例如下:" Debug.Print num = 1 For Each 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 For Each 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 For Each 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 For Each 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对象的名字为:黄蓉 |
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!