如何一次删除多个列的单个列中的重复值

时间:2017-02-06 20:34:14

标签: excel duplicates

如何一次性删除所有列中各列中的重复值?

如果我在Excel中选择了Remove Duplicates工具并选择了多个列,则会假定我正在寻找列中的重复项

我想要的是删除各列中的重复项,但我不想单独点击每个列。

  • 例如,假设我有一个包含500列的电子表格。 我想删除第1列(“A”)中的所有重复值,然后删除第2列(“B”)中的所有重复列,依此类推第500列。

我尝试过的事情:

  1. 录制宏。结果:

    ActiveWindow.ScrollColumn = 1
    Columns("A:A").Select
    Application.CutCopyMode = False
    ActiveSheet.Range("$A$1:$A$582").RemoveDuplicates Columns:=1, Header:=xlYes
    

    正如您所看到的,对于某些原因,它会自动选择“A”列。我不知道如何让它一般选择我所选列的字母。 SOOO ...

  2. 我尝试了以下内容:

    Col = Split(ActiveCell(1).Address(1, 0), "$")(0)
    Application.CutCopyMode = False
    ActiveSheet.Range("Col1:Col1581").RemoveDuplicates Columns:=1, Header:=xlYes
    

    但它也不起作用。

  3. 我该怎么做呢?

    我正在使用MS Excel 2010(Professional Plus)

1 个答案:

答案 0 :(得分:2)

要简单地遍历列并删除该列中的重复项,请说AZ,您可以这样做:

Sub removeDups()
Dim col As Range
For Each col In Range("A:Z").Columns
    With col
        .RemoveDuplicates Columns:=1, Header:=xlYes
    End With
Next col
End Sub

您可以根据需要进行调整,无论是将范围设置为与您的选择相等,还是将范围扩展到AZ