网站首页 > 资源文章 正文
一直想写几篇文章来总结一下过去VBA中字典的使用经验。当然这些都是站在前人的肩膀上完成的。字典相对于集合或数组来说,更容易理解和运用。
字典在数据处理中,运行速度是极快的,搭配一些函数来使用,我是认为是相当完美了。我在字典使用中,主要用到以下几点:
- 去重
- 求和
- 计数
- 数据匹配
我将会分别用几篇文章来分享一下字典的使用经验。
字典的声明
字典不是VBA内置的类型,VBA中的字典是微软Windows脚本语言中的一个很有用的对象,字典是由具有唯一性的关键字(Key)和它的项(Item)组成的集合,Key相当于字典中的每个字,具有不重复性,Item相当于对字典中每个字对应的解释。
因为字典不是VBA内置的类型,它是Windows脚本语言的类型,所以声明字典的方法就和VBA内置对象不同,它有两种方法声明,一种是前期绑定声明,一种是后期绑定声明。前期声明的话,我们需要去引用对应的scrrun.dll文件,相对来说比较麻烦。
因此,在VBA中,我们大都使用后期声明。如下:
Dim d As Object
Set d = CreateObject("scripting.dictionary") '建立字典
字典如何赋值
字典赋值的时候,有三个参数是必需的。如下:
语法:
[DictionaryObject].Add([Key], [Item])
参数:
参数 | 说明 |
[DictionaryObject] | 必需的。字典的名称 |
[Key] | 必需的。在 Dictionary 中引用 Item 的数据。 |
[Item] | 必需的。设置或返回 Dictionary 中 Item 的值 |
如下面的例子:
Dim dic As Object, i As Long
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To 100
dic.Add i, ""
Next
我们设置字典的名称为dic,并将1到100分别赋值给了Key。但每个对应的Item均为空。
字典对象的方法
字典有6个方法,如下表:
方法 | 说明 |
Add(key,item) | 增加键/条目对到 Dictionary |
Exists(key) | 如果指定的键存在,返回 True,否则返回 False |
Items() | 返回一个包含 Dictionary 对象中所有条目的数组 |
Keys() | 返回一个包含 Dictionary 对象中所有键的数组 |
Remove(key) | 删除一个指定的键/条目对 |
RemoveAll() | 删除全部键/条目对 |
上面我们赋值的时候,已经使用add的方法为字典赋值了。
后面我们会通过各种实例对字典中的各种方法进行讲解。因此暂不详述了。
字典的四个属性
属性 | 说明 |
CompareMode | 设定或返回键的字符串比较模式 |
Count | 只读。返回 Dictionary 里的键/条目对的数量 |
Item(key) | 设定或返回指定的键的条目值 |
Key(key) | 设定键值 |
下面的代码举例说明字典中 Count 属性的使用方法:
Dim a, d, i '创建一些变量
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athem" '添加一些关键字和条目。
d.Add "b", "Belgre"
d.Add "c", "Caire"
a = d.Keys '获得关键字
For i = 0 To d.Count -1 '遍及数组
Debug.Print a(i) '打印关键字
Next
这篇文章我们对字典的一些关键信息进行了梳理,简要的描述了字典的一些操作。后面我们将深入的对字典实际中的各种应用方法逐一的进行说明。
猜你喜欢
- 2025-05-02 Windows11 a problem has been detected and windows怎么解决?
- 2025-05-02 模拟飞行 DCS F-14B Tomcat雄猫战斗机 中文指南 3.4警告指示灯
- 2025-05-02 不会用list的程序员不是好程序员,C++标准容器list类实例详解
- 2025-05-02 FTP删除文件夹时提示550 Remove directory operation failed
- 2025-05-02 随便说说removeFromSuperview方法
- 2025-05-02 Changzheng Hospital urges Novartis China to remove medical representatives amidst nationwide anti-corruption drive
- 2025-05-02 Ubuntu 系统安装NVIDIA 驱动(ubuntu 20.04安装nvidia驱动)
- 2025-05-02 自拍恶搞短片《How to Remove Your Mustache》
- 2025-05-02 usb safely remove v6.2.1.1284 使用7年还是那么好用分享给大家
- 2025-05-02 Futu and Tiger to remove apps from Chinese app stores
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)