成语大全网 - 成语词典 - 如何用VBA删除表格中某列重复的的数据所在行,只留下其中一个即可。

如何用VBA删除表格中某列重复的的数据所在行,只留下其中一个即可。

用字典可以轻松快捷地实现去重的操作,代码如下:

Sub main()

Set dic = CreateObject("scripting.dictionary") '创建字典对象,并把字典对象赋给变量dic;这是最常用的一句代码,也就是所谓的“后期绑定”

For i = Range("B65536").End(3).Row To 1 Step -1 '从B列的最后一行到第一行依次递减,如果是从第一行到最后一行递增,则会因为删除行而跳过很多行,达不到去重效果

If dic.exists(Cells(i, "B").Value) Then '如果B列中的数据已经在字典中了(也就是重复了)

Rows(i).Delete '就删除这一行

Else

dic(Cells(i, "B").Value) = "" '否则就把B列的数据放入字典中

End If

Next i

End Sub