系统:Windows 7
软件:Excel 2010
问题
一列含有重复数据的源数据,如何去重?这里利用了字典键不能重复的特性
源数据
逻辑过程
- 通过循环将源数据全部写入字典的键,因为字典的键是不能重复的,重复的值写入,键本身不会发生变化
- 将字典的键取出来,放入表格中
代码
Sub test()
Set d = CreateObject("Scripting.Dictionary")
Set sht = ThisWorkbook.Worksheets("示例")
maxRow = sht.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To maxRow Step 1
x = sht.Cells(i, "A")
d(x) = ""
Next i
rowNum = 2
For Each x In d.keys
sht.Cells(rowNum, "C") = x
rowNum = rowNum + 1
Next
End Sub
代码截图
执行结果
部分代码解读
-
d.keys
表示字典的所有键,字典内部结构(键,值)
思考:那么有没有其它方法去重呢?
以上为本次的学习内容,下回见
如发现有错误,欢迎留言指出
更多精彩,请关注微信公众号
扫描二维码,关注本公众号
网友评论