在Excel中查找和删除重复值技巧(2)
2.可以看到所有重复的姓名都用浅红色标记出来。选择一个姓名,右击鼠标,在弹出的菜单中选择“排序→升序”,使重复的姓名排在一起。
3.选择一个重复的姓名,再次单击鼠标右键,选择“排序→将所选单元格颜色放在最前面”,Excel将把重复的姓名自动排在最上面以便查看。
方法五:用Excel 2007中的“删除重复项”功能
选择A2:A21区域,单击功能区“数据→删除重复项”,在“删除重复项”对话框中单击“确定”。
Excel 2007自动将重复值删除,并给出提示。
方法六:用VBA
这两段VBA代码分别运用了Scripting.Dictionary和Collection对象,并利用了其元素具有唯一性的特点。
1.用Scripting.Dictionary对象:
Sub Uniquedata()
Dim Cel As Range, Res
'创建对象
Set d = CreateObject("Scripting.Dictionary")
'遍历数据区域的单元格
For Each Cel In Range("A2:A21")
'判断单元格内容是否为空
If Cel <> "" Then
'如果字典对象中不包含同样的对象就添加该对象
If Not d.exists(Cel.Value) Then d.Add Cel.Value, Cel.Value
End If
Next
Res = d.Items
'将对象中的元素写入工作表
For i = 0 To d.Count - 1
Cells(i + 2, 3) = Res(i)
Next i
End Sub
2.用Collection对象:
Sub Uniquedata1()
Dim myList As New Collection, Cel As Range, itm, i As Integer
On Error Resume Next
'遍历数据区域的单元格
For Each Cel In Range("A2:A21")
'判断单元格内容是否为空
If Cel <> "" Then myList.Add Cel.Value, CStr(Cel.Value)
Next
On Error GoTo 0
i = 1
'将非重复值写入工作表
For Each itm In myList
Cells(i + 1, 3) = itm
i = i + 1
Next
End Sub
来源:excel技巧天地