Compartir a través de


Eliminar entradas duplicadas en un intervalo

En el ejemplo siguiente se muestra cómo tomar un intervalo de datos en la columna A y eliminar entradas duplicadas. En este ejemplo se usa el método AdvancedFilter del objeto Range con el parámetroUnique igual a True para obtener la lista única de datos. El parámetroAction es igual a xlFilterInPlace, especificando que los datos se filtran en su lugar. Si desea conservar los datos originales, establezca el parámetro Action en xlFilterCopy y especifique la ubicación donde desea que se copien los datos filtrados en el parámetroCopyToRange. Una vez filtrados los valores únicos, en este ejemplo se usa el método SpecialCells del objeto Range para buscar las filas en blanco restantes y las elimina.

Código de ejemplo provisto por: Tom Urtis, Atlas Programming Management

Sub DeleteDuplicates()
    With Application
        ' Turn off screen updating to increase performance
        .ScreenUpdating = False
        Dim LastColumn As Integer
        LastColumn = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column + 1
        With Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
            ' Use AdvanceFilter to filter unique values
            .AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            .SpecialCells(xlCellTypeVisible).Offset(0, LastColumn - 1).Value = 1
            On Error Resume Next
            ActiveSheet.ShowAllData
            'Delete the blank rows
            Columns(LastColumn).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Err.Clear
        End With
        Columns(LastColumn).Clear
        .ScreenUpdating = True
    End With
End Sub

Acerca del colaborador

Tom Urtis, MVP, es el fundador de Atlas Programming Management, una empresa de Silicon Valley que ofrece soluciones empresariales integrales de Microsoft Office y Excel. Tom tiene más de 25 años de experiencia en la administración de negocios y el desarrollo de aplicaciones de Microsoft Office. Es, además, coautor de "Holy Macro! 2500 ejemplos de VBA para Excel".

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.