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

学习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所示的错误。

9d1acfdfb69968ee2671a02f6fccfb05.png

图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所示。

8be7bcfa462ce803c45477659cf629f1.png

图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所示。

f8abbf8ff04bd2f9a4e8a7e0fe7729e2.png

图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所示。

24b916c831681ba65adf5a06d8dd8f8e.png

图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所示。

87c8c5d4ee10937aa3e1ee9d479bc793.png

图5

309e67ecf7f9dd142522eb519ca6be6b.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值