字典
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
好了,字典的基础知识我们先讲到这里,下节继续分享。
不懂的地方均可以在下方留言给我。
只分享干货。
领取专属 10元无门槛券
私享最新 技术干货