如果一列中存在重复项,则删除整行

时间:2018-09-21 15:14:47

标签: excel vba

我有一个包含约60,000行的工作表。如果单个列(批处理列)包含重复项,我想删除行中的所有数据。

其他列中的数据存在一些差异,但我只希望每批记录有一行。

我尝试使用删除重复项,但是由于其他列的差异,它不会删除所有内容。

我写了一个宏,但是它很慢。

有人知道如何加快速度吗?还是完全更好的方法?

Sub Pull_Non_Variable()
    i = 0
    Do
        Current_Batch = Cells(i + 2, "J")

        'Cells(i + 2, "J").Select

        Next_Batch = Cells(i + 3, "J")

        'Cells(i + 3, "J").Select

        If Current_Batch = "" Then
            Exit Do
        End If

        If Current_Batch = Next_Batch Then
            Rows(i + 2).Delete
            'Range(Cells(i + 2, "A"), Cells(i + 2, "BI")).Delete
        Else
            i = i + 1
        End If

    Loop
End Sub

1 个答案:

答案 0 :(得分:3)

SJR在评论中所述,您可以选择范围中的哪些列指示重复条件。

ActiveSheet.Range("A:BI").RemoveDuplicates Columns:=10, Header:=xlYes