盘点VBA中字典的写入技巧!
讲了字典的基本概念,调用方法以及字典的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值就会加进去,如果有的那就修改。
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值的方法逐个添加到字典中。以上两个技巧非常重要,在以后的实战中经常用到。
品略图书馆 /
盘点VBA中字典的写入技巧!
讲了字典的基本概念,调用方法以及字典的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值就会加进去,如果有的那就修改。
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值的方法逐个添加到字典中。以上两个技巧非常重要,在以后的实战中经常用到。
品略图书馆 /