在宏选择结束时删除重复项

时间:2016-07-19 19:41:08

标签: excel vba

我正在使用宏来根据日期选择一系列名称。然后我想删除选择中的重复项。我的宏运行正常,但它不会像它应该删除重复项并返回没有错误。我的代码中我做错了什么?

sub Remove_Duplicates()

    Dim mRow As Long
    Dim mStart As Long, mEnd As Long
    Dim rng As Range


    Worksheets("Weekely").Select
    For mRow = 1 To 65536
        If Range("G" & mRow).Value = "2016" Then
            mStart = mRow
            Exit For
        End If
    Next mRow

    ' Figure out where the "2016" data ends.
    For mRow = mStart To 65536
        If Range("G" & mRow).Value <> "2016" Then
            mEnd = mRow
            Exit For
        End If
    Next mRow
    mEnd = mEnd - 1

    Set rng = Range("G" & mStart & ":G" & mEnd).Offset(0, 1)

    rng.RemoveDuplicates

End Sub

1 个答案:

答案 0 :(得分:0)

rng.RemoveDuplicates不会抛出错误但也不会执行任何操作。您需要指定需要删除副本的列。还要指定是否有标题。

假设您没有标题单元格而只有一列H

正确的方式: rng.RemoveDuplicates Columns:=1, Header:=xlNo