¿Cómo puedo eliminar filas duplicadas en Microsoft Excel 2011?

3

Cada 2do jueves, nuestro equipo tiene que producir informes a partir de los datos que se nos proporcionan en una hoja de cálculo de Excel. Normalmente, estos datos tienen aproximadamente 23,000 filas de datos. El problema es que desde junio estas hojas de cálculo ahora tienen filas duplicadas, debido a un problema en el almacén de datos en el que se producen.

No entiendo nada de ese lado, pero lo que sí sé es que necesitamos encontrar una manera fácil de eliminar cada segunda fila. Actualmente, estamos dividiendo los datos en 3 hojas de cálculo y tengo 3 miembros del personal que borran cada segunda fila en sus respectivas hojas de cálculo. Cuando todos hayan terminado, los fusionaremos de nuevo en una hoja de cálculo para generar nuestros informes. Este es un gran desperdicio de tiempo (todavía toma horas para hacerlo), crea mucho estrés debido a que otros trabajos se retrasan y arruina la moral en el equipo.

Estamos usando Excel 2011 en iMacs que ejecutan El Capitán, así que pensé que una macro podría hacer esto, ¿verdad? ¿Alguien puede confirmar si este es el caso y, en caso afirmativo, cómo lo haríamos?

    
pregunta user250221 04.08.2017 - 08:56

1 respuesta

5

Esta respuesta asume:

  • tienes una fila de encabezado y, debido a eso, la primera fila que contiene tus datos es la fila 2.

Solución

  1. Abra la hoja de cálculo de Excel en su estado original (es decir, todas las filas duplicadas son adyacentes entre sí)
  2. Ir a Herramientas > Macro > Editor de Visual Basic
  3. Esto abrirá una ventana Proyecto con el nombre de su primera hoja resaltada. Haga doble clic en el nombre de la hoja
  4. En la ventana de código que aparece, ingrese el código a continuación (debería poder simplemente copiar y pegar)

    Sub DeleteEverySecondRow()
        For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -2
            Rows(i).Delete
        Next i
    End Sub
    
  5. Cierre la ventana y regrese a su hoja de cálculo

  6. Ahora ve a Herramientas > Macro > Macros…
  7. En la ventana Macro que aparece, seleccione la macro DeleteEverySecondRow y haga clic en el botón Ejecutar
  8. Ahora espere un momento a que finalice la macro (el tiempo que demora depende de cuántas filas tenga, pero no debe tomar más de unos minutos como máximo)
  9. Después de que finalice, se eliminará cada segunda fila

Cualquier problema, por favor hágamelo saber.

NOTA

He respondido a esta pregunta basándose en el título original y el requisito que ha especificado (es decir, eliminar cada segunda fila). Sin embargo, tenga en cuenta que si ha ordenado los datos de manera que las filas duplicadas ya no estén adyacentes entre sí, entonces esta macro no logrará lo que realmente necesita.

    
respondido por el Monomeeth 04.08.2017 - 09:07

Lea otras preguntas en las etiquetas