【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 classnameobj.name = "黄蓉"zdyjh.Add Item:=obj, Key:="third"For i = 1 To 2Debug.PrintNext'输出现有集合中的元素Debug.Print "现有集合中共有" & CStr(zdyjh.Count) & "个元素,个元素举例如下:"Debug.Printnum = 1For Each tempobj In zdyjhDebug.Print "" & CStr(num) & "对象名字为:" & tempobj.name 'CStr函数将数据强制转换为字符
    Debug.Printnum = num + 1NextSet obj = New classnameobj.name = "段誉"zdyjh.Add Item:=obj, Key:="forth", before:=2Debug.Print "在第2个对象之前插入对象后,集合中共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"Debug.Printnum = 1For Each tempobj In zdyjhDebug.Print "" & CStr(num) & "对象的名字为:" & tempobj.nameDebug.Printnum = num + 1NextSet obj = New classnameobj.name = "胡八一"zdyjh.Add Item:=obj, Key:="five", after:=3Debug.Print "在第三个对象之后插入对象后,集合共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"Debug.Printnum = 1For Each tempobj In zdyjhDebug.Print "" & CStr(num) & "对象的名字为:" & tempobj.nameDebug.Printnum = num + 1Next'移除第三个对象zdyjh.Remove (3)Debug.Print "删除第三个对象之后,集合共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"Debug.Printnum = 1For Each tempobj In zdyjhDebug.Print "" & CStr(num) & "对象的名字为:" & tempobj.nameDebug.Printnum = num + 1Next
End Sub

【结果展示】

 立即窗口打印结果为:

现有集合中共有3个元素,个元素举例如下:

第1对象名字为:杨过

第2对象名字为:郭靖

第3对象名字为:黄蓉

在第2个对象之前插入对象后,集合中共有4个元素,各元素列举如下:

第1对象的名字为:杨过

第2对象的名字为:段誉

第3对象的名字为:郭靖

第4对象的名字为:黄蓉

在第三个对象之后插入对象后,集合共有5个元素,各元素列举如下:

第1对象的名字为:杨过

第2对象的名字为:段誉

第3对象的名字为:郭靖

第4对象的名字为:胡八一

第5对象的名字为:黄蓉

删除第三个对象之后,集合共有4个元素,各元素列举如下:

第1对象的名字为:杨过

第2对象的名字为:段誉

第3对象的名字为:胡八一

第4对象的名字为:黄蓉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git fork clone 区别_Working with Git | Git 与 GitHub

关于各位好,这里是 Chinas Prices Project 项目的知乎专栏。关于 CPP 项目,您可以在这篇文章里了解到更多的信息。若您对这个项目感兴趣,我们非常欢迎您与我们交流您的想法与见解。在一个团队的成员同时为一个项目进行开发工作时,…

舒适的路线(codevs 1001)

题目描述 DescriptionZ小镇是一个景色宜人的地方&#xff0c;吸引来自各地的观光客来此旅游观光。Z小镇附近共有N(1<N≤500)个景点&#xff08;编号为1,2,3,…,N&#xff09;&#xff0c;这些景点被M&#xff08;0<M≤5000&#xff09;条道路连接着&#xff0c;所有道路都…

PHP_Smarty

模板 数据与表现层的标签分离 smarty是PHP 与 HTML代码的分离 小型模板类 $smarty 的工作流程&#xff1a; 把需要显示的全局变量&#xff0c;赋值塞到对象内部的属性上&#xff0c;一个数组中.编译模板&#xff0c;把{$标签},解析成相应的<?php echo 代码引入编译后的PHP文…

读中文_挑战来了!康辉喊你读中文十级绕口令!

文章来源&#xff1a;央视频汉语桥木甬读桶不读涌&#xff0c;月农读脓不读胧。米更读粳不读梗&#xff0c;日青读晴不读睛。米宗读粽不读综&#xff0c;言丁读订不读钉。土竟读境不是镜&#xff0c;土平读坪不是评。耳令读聆不读岭&#xff0c;火登读灯不读澄。言甬读诵不读蛹…

ios 自定义键盘

由于项目需要&#xff0c;需要自定义键盘。ios系统键盘会缓存键盘输入&#xff0c;并保存在系统目录下的文件里&#xff0c;并且是明文存储&#xff0c;存在帐号密码泄漏风险。在别人代码基础上修改了下&#xff0c;美化了下界面&#xff0c;去掉了字符输入&#xff0c;加了点击…

【GOF23设计模式】迭代器模式

【GOF23设计模式】迭代器模式 来源&#xff1a;http://www.bjsxt.com/ 一、【GOF23设计模式】_迭代器模式、JDK内置迭代器、内部类迭代器 1 package com.test.iterator;2 /**3 * 自定义的迭代器接口4 */5 public interface MyIterator {6 void first(); //将游标指向第…

51单片机50个实例代码_【附代码】51单片机电子密码锁教程

简介大家好&#xff0c;这篇文章的内容是关于如何用51单片机来制作一个电子密码锁的教程&#xff0c;通过这篇教程可以让刚入门的朋友了解矩阵键盘、LCD1602的使用方法&#xff0c;以及密码输入和修改的程序介绍&#xff0c;我会对每个部分进行详细的介绍。首先我们来看一下这个…

8数据提供什么掩膜产品_博硕能为你提供什么产品?

自动喷漆设备应用于线条、木门、橱柜、楼梯、套房家具、办公家具、木饰面板、外墙保温装饰一体板板等产品领域&#xff0c;针对NC、PU、UV、水性漆和氟碳漆等不同种类的油漆&#xff0c;进行自动化喷涂和干燥作业。自动喷漆设备有多种规格型号&#xff0c;分为不同的喷涂方式。…

jsp页面验证码(完整实例)

项目结构如下&#xff0c;MyEclipse中新建一个Web Project&#xff0c;取名servlet 1、src下new一个servlet类 package com.servlet;import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOExcept…

开源oa_圈子哥推荐一款基于 Spring Boot 开发 OA 开源产品,学习/搞外快都是不二选择!...

点击上方蓝字关注「程序员的技术圈子」今天圈子哥给大家推荐一套Spring Boot 开发 OA系统&#xff0c;系统功能齐全&#xff0c;不管是用来学习或者搞外快都是不错的选择&#xff0c;clone下来吧&#xff01;办公自动化(OA)是面向组织的日常运作和管理&#xff0c;员工及管理者…

Libevent初探

Libevent 是一个用C语言编写的、轻量级的开源高性能网络库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&#xff1b;源代码相当精炼、易读&am…

特别慢_背什么都特别慢,该怎么提高记忆力?

考研是一项全方位的比拼&#xff0c;除了每天进行知识点的复习&#xff0c;还要做题、总结&#xff0c;最后还得进行背诵记忆&#xff0c;其实什么科目都需要背的&#xff0c;就算数学&#xff0c;该记的概念和公式也是要记忆的&#xff0c;因为会做题更快&#xff0c;提高效率…

第三章 中间件,3.1 万亿级数据洪峰下的分布式消息引擎(作者:冯嘉、誓嘉、尘央、牟羽)...

3.1 万亿级数据洪峰下的分布式消息引擎 前言 通过简单回顾阿里中间件(Aliware)消息引擎的发展史&#xff0c;本文开篇于双11消息引擎面临的低延迟挑战&#xff0c;通过经典的应用场景阐述可能会面临的问题 - 响应慢&#xff0c;雪崩&#xff0c;用户体验差&#xff0c;继而交易…

Linux目录结构和常用命令

一、Linux目录结构 你想知道为什么某些程序位于/bin下&#xff0c;或者/sbin&#xff0c;或者/usr/bin&#xff0c;或/usr/sbin目录下吗&#xff1f;例如&#xff0c;less命令位于/usr/bin目录下。为什么没在/bin中&#xff0c;或/sbin&#xff0c;或/usr/sbin目录中&#xff1…

挂载nfs文件系统_综合架构-day38-NFS服务补充

1.如何让nfs永久挂载-2种方法开机自启动文件1.vim /etc/rc.d/rc.local需要修改执行权限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加载配置生效&#xff0c;等价于优雅重启[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/yhl_leo/article/details/53931536 1. 资源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各种居中

居中是我们使用css来布局时常遇到的情况。使用css来进行居中时&#xff0c;有时一个属性就能搞定&#xff0c;有时则需要一定的技巧才能兼容到所有浏览器&#xff0c;本文就居中的一些常用方法做个简单的介绍。 注&#xff1a;本文所讲方法除了特别说明外&#xff0c;都是兼容I…

手写数字识别中多元分类原理_广告行业中那些趣事系列:从理论到实战BERT知识蒸馏...

导读&#xff1a;本文将介绍在广告行业中自然语言处理和推荐系统实践。本文主要分享从理论到实战知识蒸馏&#xff0c;对知识蒸馏感兴趣的小伙伴可以一起沟通交流。摘要&#xff1a;本篇主要分享从理论到实战知识蒸馏。首先讲了下为什么要学习知识蒸馏。一切源于业务需求&#…

linux zip/unzip命令

2019独角兽企业重金招聘Python工程师标准>>> 语  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式…

在Windows下不使用密码远程登陆Linux

在登陆Linux进行管理的时候我们通常会使用用户名和密码进行登陆&#xff0c;这样一来是比较麻烦&#xff0c;二来是不安全&#xff0c;为了解决这个问题&#xff0c;我们可以使用公私钥 (public keys和private keys)进行认证。简单来说公钥存放在服务器上&#xff0c;私钥存放在…