Fórmulas Excel: Ejemplos, Tips y Tutoriales para Dominar Excel

Descubre ejemplos prácticos de fórmulas Excel, tutoriales paso a paso y consejos para optimizar tu trabajo con hojas de cálculo. ¡Aprende a dominar Excel fácilmente!

  • Home
  • Descargas
  • App a Medida
  • Sobre mi
  • Contacto
  • FAQ

Eliminar duplicados con macros en excel

Nolberto Lopez 9 comentarios

El tema de eliminar duplicados con macros en excel se vuelve muy relevante y necesario para todos los usuarios que manejan grandes bases de datos y de pronto se dan cuenta que algunos de sus registros están duplicados, un ejemplo de esto seria una base de datos de contactos, control de clientes, control de proveedores, etc.

Aplicaciones contables en excel

Descargar MegaPack Contable en Excel

Esto de eliminar duplicados con macros también se puede aplicar para bases de datos donde se registran ventas, compras, etc… esto con el fin de obtener una lista única de los clientes, proveedores con los que se han realizado operaciones.

Excel ya trae una opción para quitar duplicados de una tabla de datos, esa opcion esta en el menú datos/ quitar duplicados.

eliminar duplicados con macros en excel

Esa es una excelente opción, pero tiene un detalle que la hace inútil en ciertos casos, un ejemplo seria cuando se aplica en una tabla donde los registros no son idénticos en todas las columnas, si un solo carácter en una columna es diferente a los otros registros, ese registro ya no es considerado como duplicado.

En ese caso es necesario programar una macro para eliminar los registros duplicados, la idea es que esa macro haga un recorrido de la tabla desde una sola columna, debe contar cuantas veces aparece el dato seleccionado dentro de esa columna, si el dato seleccionado esta mas de una vez, deberá eliminar la fila completa, si esta solo una vez, deberá seleccionar la siguiente fila y así hasta terminar con la tabla y finalmente deberá quedar depurada con ese proceso.

Macro para eliminar duplicados en excel

Sub eliminadup()
    'se definen variables
    Dim ncolum, filainicio, filafin As Integer
    Dim rangoconteo As String
    'se da valor a la variable numero de columna de búsqueda
    ncolum = Application.InputBox("Ingresar numero de columna guia..", "Columna", 1, Type:=1)
    'valor de la variable fila inicial
    filainicio = Application.InputBox("Ingresar numero de fila inicial..", "Fila Inicial", 2,     Type:=1)
    'valor de la variable ultima fila
    filafin = Application.InputBox("Ingresar numero de la ultima fila..", "Ultima Fila", 10,     Type:=1)
    'se define el rango donde se busca el dato para el conteo
    rangoconteo = Range(Cells(filainicio, ncolum), Cells(filafin, ncolum)).Address
    'seleccionar la primera celda para conteo
    Cells(filainicio, ncolum).Select
    'se inicia el recorrido de la hoja para contar y eliminar filas
    For i = 1 To filafin
        'se cuenta la cantidad de veces que esta el dato seleccionado dentro de la columna
        conteo = Application.CountIf(Range(rangoconteo), ActiveCell)
        'si el conteo es mayor a 1, se elimina la fila actual
        If conteo > 1 Then
            Selection.EntireRow.Delete
            i = i - 1
            'si el conteo es 1, se cambia la selección a la siguiente fila
        Else
            Selection.Offset(1).Select
        End If
    Next i
    'fin del ciclo

End Sub

En esa versión de la macro el usuario debe indicar el numero de columna que se usara como guía para buscar duplicados, es decir, si en esa columna hay datos duplicados se eliminan dejando solo uno de ellos, también se debe indicar numero de fila inicial y final.

Esta es una versión mas simple que realiza el proceso en un rango especificado en la misma macro.

Sub elimina()
    Range("c2").Select
    Do While ActiveCell.Value <> ""
        conteo = Application.CountIf(Range("c2:c1000"), ActiveCell)
        If conteo > 1 Then
            Selection.EntireRow.Delete
            i = i - 1
        Else
            Selection.Offset(1).Select
        End If
    Loop
End Sub

Video: Eliminar duplicados con macros en excel. 

Si observamos en el código de la macro, lo importante es primero diseñar la estructura de lo que debe suceder para que se haga el trabajo deseado, en este caso primero hemos puesto los comentarios que indican ese proceso y en base a ello se desarrolla el código que finalmente hace la tarea.

En programación es importante pensar de manera lógica en la mayoría de los casos, pero también es importante el pensamiento lateral, no todo se da de de la manera mas obvia, pero lo mas importante siempre, es tener presente la información relevante o la materia prima necesaria para hacer aquella tarea, por ejemplo, si quieres hacer una limonada, que es lo mas importante que se requiere para poder hacerla…?

En este caso de eliminar duplicados con macros en excel, aplica lo mismo, lo mas importante es la columna que se elije para hacer el conteo, si observamos, una vez elegida esa columna, la macro hace el recorrido y el conteo, pero jamas toma en cuenta las otras columnas a la hora de eliminar o dejar las filas, aunque de ser necesario si puedes tomar en cuenta las otras columnas.

Por otro lado, en este caso se ha elegido eliminar los registros duplicados, pero igual podrías hacer otra cosa con esos registros, por ejemplo, podrías poner un color diferente al texto o cambiar el color de fondo de las celdas, pero eso lo veremos en otra ocasión.
Descargas formulasexcel.com

Categoría: Macros, Videotutoriales

  1. Aplicación a Medida
  2. MegaPack contable en excel
  3. Nómina en excel
  4. Control de CFDI en excel
  5. Control de CFDI de Nomina en excel
  6. Contabilidad electrónica en excel
  7. Sistema contable en excel
  8. Cuentas por cobrar en excel
  9. Pago a proveedores en excel
  10. Ingresos y Egresos en excel
  11. Vacaciones de empleados en excel
  12. Inventarios en excel
  13. Agenda en excel
  14. Conciliación bancaria en excel
  15. Bancos en excel
Aprender Excel Gratis:
  • Facebook
  • Instagram
  • TikTok
  • Twitter
  • WhatsApp
  • Youtube

Acerca de Nolberto Lopez

Experto en Microsoft Excel. Desarrollador de aplicaciones en Excel con VBA. Autor del sitio formulasexcel.com

« Formato Condicional en Excel – Facturas Vencidas
Nuevas versiones de NominaFX y ContaFX »

Comentarios

  1. Nicanor Jiménez Mendoza dice

    marzo 9, 2021 en 7:27 pm

    Muchas Gracias Por Esta Aportacion, Fuede Mucha Utilidad.

    Una Pregunta, Como Le Puedo Hacer Para Que Solo La Celda Donde Se Encuentre El Texto O Numero Duplicado Sea Lo Unico Eliminado Dejando Esa Casilla En Blanco, Y No Eliminando Toda La Fila.
    Agradezco De Antemano Tu Gran Ayuda.

    Responder
  2. danilo efren dice

    octubre 21, 2015 en 11:49 pm

    Muy buen aporte para la base trabajadora.
    Excelente ejercicio.
    Saludos.
    Danilo.

    Responder
  3. ylder gonzalez vera dice

    mayo 25, 2015 en 11:06 pm

    Buena tarde, tengo una base de datos y aparentemente tengo duplicados pero tengo un inconveniente, explico a continuacion:
    En la base de datos tengo 3 datos principales 1) Documento de identidad 2) nombre 3)apellidos; entonces quisiera saber cual seria el codigo de un macro que me realice un conteo fila por fila revisando si tengo estudiantes repetidos y me lo diga en otra celda “Repetido” “No repetido” segun sea cada caso; basicamente no deseo eliminar sino conocer los repetidos y realizar un filtro de para presentar un informe unicamente de esos repetidos, muchas gracias.

    Responder
  4. Mario Herrera dice

    agosto 11, 2014 en 5:20 pm

    al copiar todo el macro y correrlo me da el error 438 donde explica
    que no acepta este método……???
    Me puedes ayudar a resolverlo

    Responder
    • Nolberto Lopez dice

      agosto 11, 2014 en 5:27 pm

      Saludos Mario.

      Debe ser que lo ha copiado mal, en el video se ve como funciona correctamente, puede descargar el archivo para ver el código…

      Responder
      • Mario Herrera dice

        agosto 17, 2014 en 4:30 pm

        Tenia Razón Nolberto tenia mal escrita la palabra ” imput ” y era input
        GRACIAS

        Responder
  5. d dice

    marzo 28, 2014 en 3:27 pm

    buena esta pagina

    Responder
  6. Roberto Ochoa Vicente dice

    enero 22, 2014 en 4:08 pm

    Excelente aporte, muchas gracias.

    Responder
  7. BGC dice

    enero 21, 2014 en 11:29 am

    Muy buen post

    Responder

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ponte en contacto conmigo para definir detalles de tu nuevo proyecto.

Contactar
  • INICIO
  • CONTACTO
  • CONTABLES
  • VIDEOS
  • CATEGORIAS
  • VBA EXCEL
  • Política de privacidad

Copyright © 2026 · Formulas Excel · by Nolberto Lopez

Copyright © 2026

Aplicaciones contables en excel

Descargar MegaPack de 14 Apps Contables en Excel


Powered by Joinchat
Hola
¿En qué podemos ayudarte?
Abrir chat