Tecnología

Inicio

Cómo eliminar filas duplicadas en Excel que utiliza VBA

Cómo eliminar filas duplicadas en Excel que utiliza VBA


Ciertas hojas de cálculo se utilizan y actualizan mucho. Estos a menudo están llenos de datos que se repiten varias veces. Hay maneras de encontrar y eliminar las filas que contienen esos datos duplicados, pero una de las maneras más simples y automáticas de lograr esto es con una macro de Visual Basic. Excel contiene una solicitud de programación llamado Excel VBA, que puede ser utilizado para hacer cualquier número de macros que permiten piezas de código diseñado para hacer un trabajo de encargo cuantas veces sean convocados.

Instrucciones

La programación del Macro

1 Abra la hoja de cálculo en Excel y abrir el editor de VBA pulsando Alt y la tecla F11 en el equipo.

2 Iniciar un nuevo proyecto haciendo clic derecho en el libro de trabajo en el menú de la derecha y elegir la opción "Nuevo".

3 Iniciar la nueva función con "DeleteDuplicateRows Sub ()". Esto informa al compilador de VBA que hay una nueva subrutina que se debe tener en cuenta.

4 Crear las variables con el siguiente código:

Fila Dim As Long
Dim As Long Count
Dim comparar como variante
Dim gama como gama

Esto le indica al sistema para dejar de lado las cuatro variables (Fila, contar, y la comparación de rango) para utilizar en el código. Se puede utilizar cualquier nombre que la variable más sentido para usted, pero recuerde que debe cambiar en el código más tarde.

5 Configure el macro con algo más de código básica:

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

Ajuste Rango = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

Application.StatusBar = "Procesamiento Fila:" & Format (Rng.Row, "#, ## 0")

El primer grupo de código indica al sistema para ejecutar la macro si se encuentra con algún problema. El segundo grupo establece la variable de rango de acuerdo a lo que el usuario ha seleccionado.

6 Escriba el siguiente código:

Count = 0
Para Fila = Range.Rows.Count Para Paso 2 -1
Si Fila Mod 500 = 0 Entonces

Application.StatusBar = "Processing Row: " & Format(R, "#,##0")

Terminara si

Comparar = Range.Cells (fila, 1) .Value

Esto le indica al sistema al paso a través de cada una de las filas seleccionadas por el usuario, y cambiar el Compara variable para esa fila cada vez que se mueve adelante.

7 Introduzca el siguiente código siguiente:

Si V = A continuación vbNullString

If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then
Rng.Rows(R).EntireRow.Delete
N = N + 1
End If

Más

If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
Rng.Rows(R).EntireRow.Delete
N = N + 1
End If

Terminara si

Estos estados son los que realmente indican al sistema para comparar la variable de comparación a la siguiente celda y eliminar la fila si los dos son lo mismo.

8 Pulse Intro para insertar un par de nuevas líneas y escriba en "Siguiente Fila". Esto le indica al sistema para dejar de mirar a la primera fila, y pasar a la siguiente.

9 Cerrar la función con:

ENDMAKRO:

Application.StatusBar = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "filas duplicadas Borrado:" & CStr (N)

End Sub

Estas últimas líneas indican al sistema cómo cerrar la subrutina, y también para mostrar un cuadro de mensaje útil para informar al usuario de que la macro en realidad hizo lo que tenía que hacer.

Utilizar la macro

10 Guarde la hoja de cálculo. Guarde una segunda copia, copia de seguridad antes de utilizar la macro. Copiar y pegar el archivo en una carpeta de copia de seguridad, o por la opción "Guardar como" para guardar el archivo de segunda copia-tendrá que cerrar Excel y volver a abrirlo.

11 Haga clic y arrastre el cursor alrededor de la columna de datos más importante. Esta es aquella para la cual todas las entradas deben difieren, como en, si todo había sido introducido correctamente, no serían las entradas duplicadas.

12 Abra el menú "Herramientas" y seleccione "Macros". Esto abre el cuadro de diálogo macros, que le permite elegir y ejecutar la macro.

13 Seleccione la macro; si se ha utilizado el ejemplo anterior, se llamará "DelDuplicateR." A continuación, pulse el botón "Ejecutar". La macro se ejecutará automáticamente y aparecerá un mensaje que indica que los duplicados se han eliminado.

Consejos y advertencias

  • Esto sólo funciona si el contenido de las dos células son exactamente los mismos. No funcionará si difieren en incluso una pequeña cantidad.
  • Las macros no se pueden deshacer con el comando "Deshacer" en el menú "Editar" o Ctrl y Z. Antes de usar cualquier macro, debe hacer una copia de seguridad de datos para evitar la pérdida por completo.