分享

字典学习第一课(6方法4属性)

 VBA说 2020-04-07

字典

dictionary

这节课给大家讲解字典的知识,字典概念听起来感觉很抽象,实际和现实生活做作对比就好理解一些。

字典,通俗的理解就是储存一定数量关键字和他的释义(条目)的一个对象。

一、字典的特点:

①关键字具有唯一性

就是说在字典对象里,不可能同时出现一个字符串两次。在将一批关键词写入字典的过程中,字典会自动剔除重复的字符串。

②每一个关键字对应一个条目。

利用字典的以上两个特性,我们就可以很便捷的做一下应用。去重复,分类汇总,按列拆分成工作表,按列拆分成工作簿等等

二、引用字典的方法(字典不是Excel程序里对象,是外部对象)

1.前期绑定:方法 Alt+F11 打开VBE编辑窗口-->工具菜单-->引用-->浏览-->找到scrrun.dll-->选择它-->打开-->确定

Sub 前期绑定()

Dim dic As New Dictionary

End Sub

2.后期绑定

sub 后期绑定()

Dim dic

Set dic= CreateObject("Scripting.Dictionary")

End Sub

两者的区别,前期绑定优点会弹出列表,当您输入dic.之后,后面会弹出成员列,6个方法和4个属性,方便入门的朋友学习,缺点就是把带有字典代码的工作簿发给朋友,朋友不能直接用,也要手动引用。

后期绑定的话发给别人,无需手动重新绑定字典对象,拿到即可使用。但是输入字典对象不会出现成员列表。

因此建议,初期学习字典的时候可以前期绑定,方便学习。写代码的时候再后期绑定发给别人。

三、字典的6个方法、4个属性

➜6个方法:

1.Add 添加一条关键字与条目

2.Keys 返回所有关键字(形成1维数组)

3.Items 返回所有条目(形成1维数组)

4.Exists 关键字是否存在(TRUE/FALSE)

5.Remove 移除关键字与对应的条目

6.RemoveAll 移除所有关键字与对应的条目

➜4个属性:

字典对象的属性有4个:CompareMode属性、Count属性、Key属性、Item属性。

➜详细解释:

1.add方法

作用:向 Dictionary 对象中添加一个关键字项目对。

object.Add (key, item)

Object

必选项。字典对象的名称

2.两个属性(key和item)

Key(关键字)

必选项。与被添加的 item 相关联的 key。可以在 Dictionary 对象中修改一个 key。

d.Key("你好") = "excel"

Item(条目)

在一个 Dictionary 对象中设置或者返回所指定 key 的 item。对于集合则根据所指定的 key 返回一个 item。

d.Item("你好") = "vba"  ⇔d("你好") = "vba"  ,若字典中不存在关键字“你好”,则会添加到字典中。

说明

key 是唯一存在的,否则将导致一个错误。

示例:

Sub test()

Dim d As New Dictionary

Set d = CreateObject("scripting.Dictionary")

d.Add "你好", "123"

d.Add "VBA", "456"

end sub

运行一下,两对儿关键字和条目就被写入到了字典中。

注意:在本地窗口中可能看不到Item对应的实际字符串,只能看到关键字。

3.Keys方法(导出关键字的集合)

返回一个数组(下标从0开始),其中包含了一个 Dictionary 对象中的全部现有的关键字。

4.Items方法(导出条目的集合)

返回一个数组(下标从0开始),其中包含了一个 Dictionary 对象中的全部现有的条目。

示例:

Sub test()

Dim d As New Dictionary

Set d = CreateObject("scripting.Dictionary")

d.Add "你好", "123"

d.Add "VBA", "456"

d.Add "每天学点Excel vba", "126"

k = d.keys

l = d.items

end sub

运行上述代码以后,在本地窗口显示出来k跟l为下标从0开始的一维数组。

5.Exists方法

如果 Dictionary 对象中存在所指定的关键字则返回 true,否则返回 false。

a = d.Exists("你好")

6.Remove方法

Remove 方法从一个 Dictionary 对象中清除一个关键字,项目对。

用法:d.Remove ("你好")

7.RemoveAll方法

RemoveAll 方法从一个 Dictionary 对象中清除所有的关键字,项目对。

用法:d.RemoveAll

8.CompareMode属性

'设置或者返回在 Dictionary 对象中进行字符串关键字比较时所使用的比较模式。

d.CompareMode = 0  '1则不区分大小写,0则区分大小写

d.Add "B", ""

d.Add "b", ""

9.Count属性

返回一个Dictionary 对象中的项目数(关键字和条目的对儿数)。只读属性

k = d.Count 

好了,字典的基础知识我们先讲到这里,下节继续分享。

不懂的地方均可以在下方留言给我。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多