
利用字典去重,下面是示例代码,去除第一列的重复项Sub Test() '利用字典去重,字典的特性是key值不能重复
Dim Dic, Arr
Dim i As Integer, r As Integer
Dim Str As String
r = Sheet1.Range("A65536").End(xlUp).Row
If r = 1 Then Exit Sub '如果第一列没有数据那么退出程序
Set Dic = CreateObject("scripting.dictionary") '创建字典对象
For i = 1 To r '将第一列数据添加到字典的key值中
Dic(CStr(Cells(i, 1))) = ""
Next
Arr = Dic.keys '返回字典key的数组
Set Dic = Nothing '销毁对象
Str = Join(Arr, ",") '将数组中的内容显示为一字符串
MsgBox Str
End Sub
直接增加字典的关键字和条目就行了呀如
Dim d '创建一个变量
Set d = CreateObject(Scripting.Dictionary)
d.Add "a", "Athens" '添加一些关键字和条目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
举例如下:
1.利用字典,将A列不重复的值,显示在B列中
2.Alt+F11,在相应的工作表的VBE中输入代码,执行即可
代码详解如下:
Sub main()
Set dic = CreateObject("scripting.dictionary")'后期绑定字典
For i = 1 To 100
dic(Cells(i, "A").Value) = ""'将A列数值依次放到字典中,字典自带去重功能,重复的数值只保留一个,这里只用到了地点的keys,所以让字典的Item值为空
Next
Range("C1").Resize(dic.Count, 1) = Application.Transpose(dic.keys)'这里通过转置,将字典中的全部Keys依次放到C列中
End Sub
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)