我有2列。一个有400个元素,另一个有600个元素。第二个列表中的600个元素中有400个在第一个列表中。我想删除所有这些,并最终得到200个元素列表。删除两列中的常见元素
设置差异。
我如何在Excel中实现这个功能?
我有2列。一个有400个元素,另一个有600个元素。第二个列表中的600个元素中有400个在第一个列表中。我想删除所有这些,并最终得到200个元素列表。删除两列中的常见元素
设置差异。
我如何在Excel中实现这个功能?
假设你的 “400” 名单中列A
(表 “realizada”),并在列B
“600” 名单(表 “completa”):
Sub test()
Dim lastrow As Long
Dim rngToDel As Range, c As Range
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("realizada").Range("A:A")
With ThisWorkbook.Worksheets("completa")
lastrow = .Cells(.Rows.Count, "B").End(xlUp).Row
For Each c In .Range("B1:B" & lastrow)
If Not IsError(Application.Match(c.Value, rng, 0)) Then
If rngToDel Is Nothing Then
Set rngToDel = c
Else
Set rngToDel = Union(rngToDel, c)
End If
End If
Next
End With
rngToDel.Select
If Not rngToDel Is Nothing Then rngToDel.Delete Shift:=xlShiftUp
End Sub
这两列有两张不同的图表,列表A被称为realizada,有400个元素,列表B被称为completa并具有600个元素。我需要使用realizada的数据清理'completa',我如何修改你的代码以适应这种情况。它似乎只适用于同一张表中的列。 – OHHH
看到我更新的答案 –
所以,你要 “干净” 的大清单? –
是的,我们有2个列表。一个有地方参观,另一个有我们已经去过的地方。他们在一本excel书籍的两个不同页面上,我们想从我们仍然需要访问的地方列表中删除我们已经访问过的所有地方。如果这听起来很愚蠢,我很抱歉。 – OHHH