Excel VBA – Remover linhas duplicadas

Postado em 03/09/2008 09:09:32 por Tomás Vásquez

A macro abaixo exclui na coluna selecionada as linhas que tiverem valores repetidos. Praticamente igual a função de filtro para registros exclusivos, só que em VBA. Copie o código e cole em um novo módulo VBA. Preenche em qualquer planilha uma lista com alguns valores repetidos. Clique Alt+F8 para ativar a macro e veja o resultado.

Public Sub ExcluirLinhasDuplicadas()

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

Fonte: http://vbamacros.blogspot.com/

Você precisa ser um usuário registrado para inserir um comentário. Faça seu login clicando aqui