使用VBA删除工作表多列中的重复行

2022-11-16 12:48:56 浏览数 (1)

标签:VBA

自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。

图1

使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。

下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。

代码语言:javascript复制
Sub DeDupeCols()
    Dim rng As Range
    Dim i As Integer
    Dim Cols As Variant
    Set rng = [A1].CurrentRegion
    ReDim Cols(0 To rng.Columns.Count - 1)
    For i = 0 To UBound(Cols)
        Cols(i) = i   1
    Next i
    rng.RemoveDuplicates Columns:=(Cols), Header:=xlYes
End Sub

这里使用了当前区域,假设标题位于第一行。如果没有标题行,则删除代码后面的部分。

如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码:

代码语言:javascript复制
Sub DeDupeColSpecific()
    Cells.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
End Sub

可以修改代码中代表列的数字,以删除你想要的列中的重复行。这点很有用。

注:本文学习整理自thesmallman.com,略有修改,供有兴趣的朋友参考。

vba

0 人点赞