Borrar las filas repetidas (ambas) en excel

Hola.
Tengo una planilla con varias columnas y en la columna A se repiten datos.
Debo eliminar todas las filas que repitan sus datos en la columna A. No debe quedar una y eliminar la copia, sino que deben desaparecer las dos.
Son más de 10.000 filas y tengo por lo menos 3.000 repetidas, por lo tanto revisarlo una por una es demasiado engorroso.
¿Existe alguna forma de que el excel se encargue de hacerlo?
Saludos
1

1 respuesta

Respuesta
1
Tendrías que hacer una macro que recorriese las filas y fuese evaluando si están repetidas y borrándolas.
Si las filas están ordenadas por la columna A es bastante sencillo. En caso contrario se complicaría algo más. En cualquier caso, necesitas una macro.
Si quieres te puedo echar una mano.
Saludos
Angel
Angel
Angel, antes que nada, gracias por la respuesta y disculpas por la demora de mi parte.
Estuve enfermo y no podía ni moverme de la cama.
Te comento que me encantaría si me podes ayudar con el macro porque no tengo idea de cómo hacerlo. El único macro que conozco es el supermercado.
Cualquier cosa que necesites para resolverlo avisame y te lo paso.
Saludos
Pues nada, te puedo hacer la macro. Solo necesito que me digas si están ordenadas por la columna A o no.
Sí Angel, están ordenadas por la columna A.
Te paso más abajo la macro. Solo tienes que cambiar la parte en negrita poniendo respectivamente el nombre de la hoja que tienes que depurar y el máximo de filas que quieras evaluar.
Si tienes cualquier problema no dudes en decírmelo.
Saludos
Angel
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Sub BorraFilasRepetidas()
    NombreHoja = "Hoja1"
    MaxFila =
30000
    Sheets(NombreHoja).Select
    Fila = 1
    While Fila <= MaxFila
        ClaveActual = Range("A" + Trim(CStr(Fila))).Value
        ClaveSiguiente = Range("A" + Trim(CStr(Fila + 1))).Value
        If ClaveActual <> "" And (ClaveActual = ClaveSiguiente) Then
            ClaveABorrar = ClaveActual
            Rows(Fila + 1).Select
            Selection.Delete Shift:=xlUp
        Else
            If ClaveActual <> "" And (ClaveActual = ClaveABorrar) Then
               Rows(Fila).Select
               Selection.Delete Shift:=xlUp
            Else
               Fila = Fila + 1
            End If
        End If
    Wend
End Sub
Muchas gracias!
Lo único que necesito saber para probarlo es qué debo hacer con el macro.
¿Cómo hago para aplicarlo en el excel?
Nunca utilicé ninguno y no sé por dónde empezar.
Saludos
Pues es muy sencillo. Antes de nada te recomiendo que te hagas una copia de tu hoja por si se te va el dedito y haces un estropicio.
1º Entra en Herramientas-->Macros-->Editor de Visual basic
2º Te aparecerá entonces en el panel izquierdo una cosa que se llama VBAProject, en negrita. Pon el ratón encima y con el botón derecho selecciona la opción de Insertar --> Módulo.
3º Te aparecerá entonces en el panel izquierdo, colgando de VBAProject, una carpeta nueva llamada Módulos, con un ítem colgando que se llama Módulo1. Pincha en él con el botón izquierdo, y te saldrá en el panel derecho grande un espacio en blanco para escribir.
4º Copia en ese panel el código de la macro que te he pasado.
5º Sustituye la parte en negrita que te indiqué por la correcta (nombre de la hoja y número de filas).
6º Teniendo activo ese panel, pulsa F5. Esto hace que se ejecute la macro.
7º Ya está.
Prueba y me cuentas.
Angel, muchas gracias.
Me ayudaste muchísimo. Fue un gran trabajo de tu parte, aunque para vos haya significado poco esfuerzo.
De nuevo, gracias.
Saludos
Ulises

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas