对于工作簿中的多个工作表,删除单个工作表中的重复值

时间:2017-10-24 20:54:11

标签: excel vba excel-vba

我有一个包含102个工作表的工作簿。我想循环遍历每个工作表 并删除工作表中的重复项(而不是整个工作簿)。

我目前有这段代码:

Sub DeleteDuplicates()
Set ws = ThisWorkbook.Worksheets

    For Each X In ws
        X.Range("A:B").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
    Next

End Sub

我相信它会删除出现在工作簿中任何位置的重复项,而不仅仅是在单个工作表中。有没有办法限制此代码,以便它只从它正在运行的特定工作表中删除重复项?

1 个答案:

答案 0 :(得分:2)

这会循环显示工作簿中的每个工作表。如果需要通过添加IF语句来跳过任何工作表,则可以指定工作表。

Public Sub DeleteDuplicates()

    Dim ws as Worksheet
    Dim wb as Workbook

    Set wb = ThisWorkbook

    For Each ws In wb.Worksheets
        ws.Range("A:B").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
    Next ws

End Sub