VBA的新功能。我使用下面的代码来识别和删除Sheet1中在Sheet2的C列中具有重复值的行,但我需要代码不删除已从过滤器中隐藏的行。
我已经搜索过并尝试使用.SpecialCells(xlCellTypeVisible),但我不知道在哪里放置它。我认为另一个选项是使用EntireRow.Hidden语法,但我不知道如何合并。
感谢任何帮助。
Sub DeleteDuplicates()
Application.ScreenUpdating = False
Dim Row As Long
Dim FoundDup As Range
Sheets("Sheet1").Select
For Row = Range("C65536").End(xlUp).Row To 2 Step -1
Set FoundDup = Sheets("Sheet2").Range("C:C").Find(Cells(Row, 3), LookIn:=xlValues, lookat:=xlWhole)
If Not FoundDup Is Nothing Then
Cells(Row, 3).EntireRow.Delete
End If
Next Row
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:1)
在If
声明中添加额外条件:
If Not FoundDup Is Nothing And Not Cells(Row,3).EntireRow.Hidden Then