一番上の入り口へ > excel > VBA コーディングライブラリ集 > 指定列が重複している行を削除するマクロ

指定列が重複している行を削除するマクロ

特定の列を見て 同一ならば 、下の行を削除します。

複数の列で行いたい場合は 判定の所を修正してください。 また、最初にソートが必要で隣り合った行のみチェックします。 そうでない場合は、For ループをもう一つ作って行えばだいじょうぶです。
Call check重複行削除(2, True)の箇所を
Call check重複行削除(2, False)と行うと 消す代わりに色を付けます。

ColorIndex と書いてあるところは色を付けます。

Sub 重複行削除()
    Call check重複行削除(2, True)
End Sub

Sub check重複行削除(typeLine As Integer, deleteFlag As Boolean)

  
   Dim i As Integer
    Dim outCount As Integer
    
    outCount = 0
    
    For i = 4 To 10000
        If Cells(i, typeLine).value = "" Then
            outCount = outCount + 1
            If outCount > 3 Then
                'MsgBox "out  " & i & ":" & Cells(i, typesizeLine).value & "/" & Cells(i + 1, typeLine).value & "/" & Cells(i + 1, typeApLine).value
                Exit For
            End If
        End If
        

            If Cells(i, typeLine).value = Cells(i + 1, typeLine).value Then
                ' ''''' Cells(i, typeApLine).value <> "初期処理"
                    'MsgBox i & ":" & Cells(i, typesizeLine).value & "/" & Cells(i, typeLine).value
                   If deleteFlag Then
                        Rows(i + 1).Delete
                        i = i - 1
                    Else
                        Rows(i + 1).Interior.ColorIndex = 34
                    End If
            End If
    Next i
End Sub

類似リンク

部分一致する行を削除するマクロ(テスト付き)

空白行を削除するマクロ(テスト付き)

マクロを使わずに重複行をサクッと削除するちょいわざ

VBA マクロライブラリ集