1

我有几千列数据,在查看下一列之前,我需要删除每一列中的重复记录。我有这段代码是在我录制宏时创建的,但它只处理我专门输入的列,我希望它继续查看未来的列,直到没有更多数据为止。

Sub DUPLICATE()
'
' DUPLICATE Macro
'
' Keyboard Shortcut: Ctrl+d
'
    ActiveSheet.Range("$T$1:$T$12").RemoveDuplicates Columns:=1, Header:=xlNo
    Columns("U:U").Select
    ActiveSheet.Range("$U$1:$U$12").RemoveDuplicates Columns:=1, Header:=xlNo
    Columns("V:V").Select
    ActiveSheet.Range("$V$1:$V$12").RemoveDuplicates Columns:=1, Header:=xlNo
    Columns("W:W").Select
    ActiveSheet.Range("$W$1:$W$12").RemoveDuplicates Columns:=1, Header:=xlNo
    Columns("X:X").Select
    ActiveSheet.Range("$X$1:$X$12").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
4

1 回答 1

0

这应该可以解决问题:

Sub DeleteDublicates()
    Dim i As Integer

    For i = 1 To ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column Step 1
        ActiveSheet.Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).row, i)).RemoveDuplicates Columns:=1, Header:=xlNo
    Next i

End Sub
于 2013-10-10T21:17:22.873 回答