2016-12-07 15 views
-3

Excelのスプレッドシートで重複する行を削除するスクリプトをVBAで作成しています。しかし、2つの列の情報だけを考慮して重複行を削除したい。重複する行を削除するExcel VBA

つまり、範囲B:Fのテーブルがあります。スクリプトは、行Dと列Eの値だけを考慮して重複行を削除したい。 。これをどうやってやることができますか?ありがとうございます

+1

重複の削除を使用してマクロを記録し、次にあなたのニーズに合わせてダイナミックになります。 –

+2

コードを書くことを回避する1つの方法は、必要な列(この場合はDとE)を連結することです。次に、その連結でフィルターをかけて削除します。式= 'D1&E1'を使用してこの連結列を作成し、それを下にドラッグすることができます。または、DとEが各行で同じ値であるかどうかを調べるには、 '= D1 = E1'を使用し、' TRUE'をフィルタリングして削除します。 – user1274820

答えて

2

これはこれを行う例です。

あなたがアップし、使用するシートとそれを実行していることを確認してください:ハイライト表示の

Sub DeleteDupes() 
Dim x 
For x = Cells(Rows.CountLarge, "D").End(xlUp).Row To 1 Step -1 
    If Cells(x, "D") = Cells(x, "E") Then 
     'This line deletes the row: 
     Cells(x, "D").EntireRow.Delete xlShiftUp 
     'This line highlights the row to show what would be deleted; 
     'Cells(x, "D").EntireRow.Interior.Color = RGB(230, 180, 180) 
    End If 
Next x 
End Sub 

結果:削除の

Results

結果:

Results2

関連する問題