如第一张表中有 一列 123 23 34 45 56 78 67 4534465 第二张表中有 123 23 如何在第一张表中找到第一张表中数据,我的目的就是要让第一张表只留下和第二张不重复的数据,谢谢 如何处理
是的
追答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对换一下.改表名没任何作用.