字典 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 好了,字典的基础知识我们先讲到这里,下节继续分享。 不懂的地方均可以在下方留言给我。 |
|