📊 VBA (Excel)

Remove Duplicate Rows

Removes duplicate rows from the active sheet based on all used columns, keeping the first occurrence.

By WindowsScripting.com · 651 B
RemoveDuplicateRows.bas
Attribute VB_Name = "RemoveDuplicateRows"
Option Explicit

Public Sub RemoveDuplicateRows()
    Dim ws As Worksheet
    Dim usedRange As Range
    Dim colCount As Long
    Dim i As Long
    Dim beforeCount As Long

    Set ws = ActiveSheet
    Set usedRange = ws.UsedRange
    colCount = usedRange.Columns.Count
    beforeCount = usedRange.Rows.Count

    Dim colsArray() As Variant
    ReDim colsArray(1 To colCount)
    For i = 1 To colCount
        colsArray(i) = i
    Next i

    usedRange.RemoveDuplicates Columns:=colsArray, Header:=xlYes

    MsgBox (beforeCount - ws.UsedRange.Rows.Count) & " duplicate row(s) removed.", vbInformation
End Sub