仅删除可见行的可见重复项

时间:2015-12-02 14:04:14

标签: excel vba excel-vba duplicates

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

1 个答案:

答案 0 :(得分:1)

If声明中添加额外条件:

If Not FoundDup Is Nothing And Not Cells(Row,3).EntireRow.Hidden Then