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