我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!
前面章节讲了字典的基本概念,引用方法以及字典的6个方法和4个属性,那在实际应用字典之前,我们总该了解下字典的写入技巧。
写入技巧一:add方法
下图中A列为姓名,有重复的。
我们都知道字典里的key值是不能重复的,如果我们能把A列的姓名写入字典,那么得到的keys就是不重复的姓名,这样就达到了去重复的目的。
往字典中写入项目对可以用Add方法,所以我们直接用该方法写入。
先把A列数据写入数组,然后从数组中循环出每个值分别写入字典。在写入的过程中,如果遇到重复值,代码运行肯定会产生错误提示,所以我们用错误转移语句让代码运行出现错误时直接跳到下一句执行。
代码如下:
Sub test1() Dim d As Object, arr, i%, arr1 On Error Resume Next Set d = CreateObject("scripting.dictionary") arr = Range("a2:a11") For i = 1 To 10 d.Add arr(i, 1), "" Next arr1 = d.keys Range("b2:b7") = Application.Transpose(arr1)End Sub
向右滑动可以查看完整代码
最后用arr1把keys取出来,直接写入B2:B7中,效果如下:
写入技巧二:修改item的值
前面章节在讲item属性时,我们讲过修改item的值的方法
d.item("key")="新的item"
本例中item全部为空,所以我们只要把每个key对应的item改为空值,字典中如果没有的key值就会加进去,如果有的那就修改其item值。
代码如下:
Sub test2() Dim d As Object, arr, i%, arr1 Set d = CreateObject("scripting.dictionary") arr = Range("a2:a11") For i = 1 To 10 d.Item(arr(i, 1)) = "" Next arr1 = d.keys Range("c2:c7") = Application.Transpose(arr1)End Sub
向右滑动可以查看完整代码
d.Item(arr(i, 1)) = ""
也可以简写为:
d(arr(i, 1)) = ""
第一种方法相当与把数组中的每个元素用Add的方法写进字典里,第二种方法相当于把数组中的每个元素以修改item值的方法逐个添加到字典中。
以上两个技巧非常重要,在以后的实战中经常用到,特别是第二种技巧。
本节的分享就到这里,鹏哥祝大家每天都有进步。