将两张excel表中相同的数据找到并删除掉,如何操作谢谢

如第一张表中有 一列 123 23 34 45 56 78 67 4534465 第二张表中有 123 23 如何在第一张表中找到第一张表中数据,我的目的就是要让第一张表只留下和第二张不重复的数据,谢谢 如何处理

然后挑选删除  删掉即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-27
必如123 23 34 45 56 78 67 4534465 这一列是A列
是在第一张表A列中搜索和第二张表A列中数据相同的数据,如果相同就删除第一张表中的那一行.是这样的吗?追问

是的

追答

Sub 删除重复的行()
Dim AA As Range
Dim MyRange1 As Range
Dim MyRange2 As Range
Dim BB As Range
Dim mySTr As String
endrow1 = Sheet1.Range("A65536").End(xlUp).Row
endrow2 = Sheet2.Range("A65536").End(xlUp).Row
Sheet2.Activate
Set MyRange2 = Sheet2.Range(Cells(1, 1), Cells(endrow2, 1))
Sheet1.Activate
Set MyRange1 = Sheet1.Range(Cells(1, 1), Cells(endrow1, 1))

For Each BB In MyRange2
mySTr = BB.Value

Set AA = MyRange1.Find(mySTr, lookat:=xlWhole)
If Not AA Is Nothing Then
topaddress = AA.Address
Do
AA.Interior.ColorIndex = 10
Set AA = MyRange1.FindNext(AA)
Loop While Not AA Is Nothing And AA.Address topaddress
End If
Next
myyesno = MsgBox("确定要删除标记绿色的行吗?", vbYesNo)
If myyesno = 6 Then
For i = endrow1 To 1 Step -1
If Range("A" & i).Interior.ColorIndex = 10 Then Range("A" & i).EntireRow.Delete
Next
End If
End Sub

追问

不好意思啊,你这些东西应该叫宏吧,我如何使用呢,谢谢

追答

按alt+F11 打开VBA 编辑窗口.在左边的窗口点右键选择插入模块.然后把上面的代码粘贴到右边的窗口保存.关闭VBA编辑窗口.在工具-->宏-->宏-->弹出窗口.选中这个宏 执行

追问

你好,这个宏是可以用了,但是总是删除掉少的表中重复的数据,我的意思是 我有sheet1和sheet2,sheet1中数据包括了sheet2中的数据,目的是找到sheet1中和sheet2相同的数据删掉。然后将sheet1中相同数据删除掉。
我将sheet1和sheet2的名称对换了,但是还是删除少的那个。
再帮修改下,非常谢谢

追答

程序没任何问题,我这里就是标记和删除的sheet1的数据
程序用的sheet1 sheet2 ....sheetN 是excel的内部表名,即使你重命名了.工作表的名称为其他的.这些内定的表名还是还是原来的名称.如果你不但重命名了表还来回拖动过位置的话.就容易乱.程序里用的是内定的表名,而不是你看到的表名,所以 说你的两个表放反了,
两种方法
一种 你重新打开一个新工作簿.把要删除的那个表的内容粘贴进默认的sheet1里.要查找的那个表粘贴进默认的sheet2.中
第二种 你的那个工作薄里建一个新表 把sheet1的内容和sheet2对换一下.改表名没任何作用.

本回答被提问者采纳
相似回答