前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA解读(159): 数据结构—字典对象的基本操作

Excel VBA解读(159): 数据结构—字典对象的基本操作

作者头像
fanjy
发布2019-08-27 09:49:46
1.8K0
发布2019-08-27 09:49:46
举报
文章被收录于专栏:完美Excel完美Excel

excelperfect

本文详细讲解Dictionary对象的一些基本操作。

添加字典元素

使用Add方法,添加字典元素项。其语法为:

字典对象.Add Key, Item

Add方法有两个参数。参数Key指定字典元素项的键值,参数Item指定字典元素项的值。如下面的代码:

Sub testAddItem()

Dim dict As Object

Set dict =CreateObject("Scripting.Dictionary")

dict.Add Key:="完美Excel",Item:="excelperfect"

dict.Add "Microsoft","Excel"

dict.Add "花无缺",96

dict.Add 6, 88.98

dict.Add "2019-8-15", "考试"

End Sub

从代码中可以看出,参数Key可以指定任意数据类型的值,参数Item也可以指定任意数据类型的值,甚至可以是数组、集合或者字典。

注意,如果添加的字典元素的键已经存在,则会导致下图1所示的错误。

图1

给字典元素赋值

可以直接给指定键的字典元素赋值,其语法为:

字典对象(Key) = Item

例如,代码:

dict(“完美Excel”)= “excelperfect”

注意,如果指定键的字典元素已存在,则会修改该元素的值。如果指定键的字典元素不存在,则会添加新字典元素。

检查字典键是否存在

使用Exists方法检查指定的键是否存在,其语法为:

字典对象.Exists(Key)

例如,代码:

Sub testCheckKey()

Dim dict As Object

Set dict =CreateObject("Scripting.Dictionary")

dict.Add Key:="完美Excel",Item:="excelperfect"

dict.Add "Microsoft","Excel"

dict.Add "花无缺",96

dict.Add 6, 88.98

dict.Add "2019-8-15", "考试"

If dict.exists("完美Excel") Then

MsgBox "完美Excel微信公众号: "& dict("完美Excel")

Else

MsgBox "不存在!"

End If

End Sub

在If条件语句中判断是否字典对象是否存在指定的键,并给出相应的信息,运行结果如下图2所示。

图2

统计字典元素数

使用Count方法返回字典中元素的数量,其语法为:

字典对象.Count

例如,代码:

Sub testCount()

Dim dict As Object

Set dict =CreateObject("Scripting.Dictionary")

dict.Add Key:="完美Excel",Item:="excelperfect"

dict.Add "Microsoft","Excel"

dict.Add "花无缺",96

dict.Add 6, 88.98

dict.Add "2019-8-15", "考试"

MsgBox "该字典元素数量: "& dict.Count

End Sub

运行结果如下图3所示。

图3

删除某字典元素项

使用Remove方法可以删除指定的字典元素项,其语法为:

字典对象.Remove Key

例如,代码:

Sub testRemove()

Dim dict As Object

Set dict =CreateObject("Scripting.Dictionary")

dict.Add Key:="完美Excel",Item:="excelperfect"

dict.Add "Microsoft","Excel"

dict.Add "花无缺",96

dict.Add 6, 88.98

dict.Add "2019-8-15", "考试"

dict.Remove "花无缺"

MsgBox "该字典元素数量: "& dict.Count

End Sub

运行结果如下图4所示。

图4

清空字典

使用RemoveAll方法,删除字典中所有元素项,其语法为:

字典对象.RemoveAll

例如,代码:

Sub testRemoveAll()

Dim dict As Object

Set dict = CreateObject("Scripting.Dictionary")

dict.Add Key:="完美Excel",Item:="excelperfect"

dict.Add "Microsoft","Excel"

dict.Add "花无缺",96

dict.Add 6, 88.98

dict.Add "2019-8-15", "考试"

dict.RemoveAll

MsgBox "该字典元素数量: "& dict.Count

End Sub

运行结果如下图5所示。

图5

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档