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 に答える