重複セルの削除

For文(For...Nextステートメント)を使い、ある条件の時に行削除するような場合は下から上へ Step -1 で行います。

下の例では、25から10まで Step -1 で行を下から上に回しています。
もし、10から25まで行うと、削除後に上にシフトされた行だけ飛ばされてしますからです。

Sub 行削除()
    Dim i As Long
    
    For i = 25 To 10 Step -1
    
        'C列のデータが・・・
        Cells(i, "C").Select
    
        'もし上のデータと同じだったら
        If Selection.Value = Selection.Offset(-1).Value Then
        
            With Selection
                
                'C列からE列までを
                .Resize(.Rows.Count, .Columns.Count + 2).Select
        
            End With
        
            '削除して上方向にシフト
            Selection.Delete Shift:=xlUp
        
        End If
    
    Next i

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ