忍者ブログ

EXCEL VBAで あくせく

重複するデータ行の削除

EXCEL表にキーとなるコードを入力していくと、コードの重複に気づかない
場合があります。この処理はデータに重複がある場合は、重複行を見つけ削除
する処理です。
この処理では、重複行を見つけると無条件に削除してしまいますので、
株価情報検索処理の銘柄登録には向いていますが、データベースの様な
個々のデータ行が重要な意味を持つ処理には向いていません。
ここでは1列1行目から比較を開始して、2行目以降100行目までに、
データの重複があった場合に、比較行より先にある行の削除を行います。
重複する行が点在して複数回出現しても、連続したデータとなっていても
かまいません。
行削除には、.EntireRow.Deleteコマンドを使用します。
途中に空白行があれば、その空白行以降の空白行は削除されます。

Private Sub sample()
Dim wRow       As Integer
Dim cRow       As Integer
Dim sRow       As Integer
Dim cKazu      As Integer

    wRow = 1
    sRow = 100
 For cKazu = 1 To sRow
     cRow = wRow + 1
   Do Until cRow > sRow
     If Cells(wRow, 1) = Cells(cRow, 1) Then
        Cells(cRow, 1).EntireRow.Delete
        cRow = cRow - 1
     End If
        cRow = cRow + 1
   Loop
    wRow = wRow + 1
 Next
End Sub




 

拍手[0回]

PR