2015-12-02 54 views
2

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

如果解決方案工作,請註明答案接受。 (點擊旁邊的複選標記。):-) – nwhaught

回答

1

添加額外的條件,您If聲明:

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