在excel中删除两张图纸上的重复项

在excel中删除两张图纸上的重复项,excel,Excel,我试图制作一个宏,它将查看第2页上的列表,并在第1页上查找相同的值。如果/当它找到它时,它将删除第1页上的行。然后它将在第2页的底部结束。任何建议都会有帮助,谢谢 执行此操作的最佳方法是循环查看表2上的值。对于每个值,检查其是否存在于表1中,如果存在,则删除该行 关键在于你如何构建你的循环,以及你如何为意想不到的事情做计划。如果相同的值在工作表1中多次列出,代码如何处理?如果表1中有空白点怎么办 我的建议是使用内置函数,如.Find方法。这可以跳过意外的空格,并且很容易被多次调用。有关此方法和其

我试图制作一个宏,它将查看第2页上的列表,并在第1页上查找相同的值。如果/当它找到它时,它将删除第1页上的行。然后它将在第2页的底部结束。任何建议都会有帮助,谢谢

执行此操作的最佳方法是循环查看表2上的值。对于每个值,检查其是否存在于表1中,如果存在,则删除该行

关键在于你如何构建你的循环,以及你如何为意想不到的事情做计划。如果相同的值在工作表1中多次列出,代码如何处理?如果表1中有空白点怎么办

我的建议是使用内置函数,如
.Find
方法。这可以跳过意外的空格,并且很容易被多次调用。有关此方法和其他方法的详细信息,请在VBA编辑器中按F1,也可以查看

正如已经指出的,避免使用
.Select
也是一种良好的做法


为了让您开始,以下是可能的概述,查看Sheet2第1行到第3行中的信息,并替换Sheet1第1行到第10行中的值:

Public Sub delete_selected_rows()

'look at sheet2, A1 through A3 for search values
For Each search_value In Worksheets(2).Range("A1:A3")
  'as long as there is something to delete...
  Do While Not Worksheets(1).Range("A1:A10"). _
  Find(search_value.Value, lookat:=xlWhole) Is Nothing
    '...delete that row
    Worksheets(1).Range("A1:A10").Find(search_value.Value, _
    lookat:=xlWhole).EntireRow.Delete
  Loop
Next

End Sub

我想这是Excel的。请更新标题和/或标签,以反映您正在使用的平台。它是excel,我很抱歉,我现在就更新。没问题,祝您好运!录制宏并查看其源代码是一个很好的起点。