Tecnología

Inicio

Cómo eliminar filas duplicadas por VBA en Excel

Microsoft Visual Basic para Aplicaciones (VBA) es un lenguaje de programación fácil de usar que se pueden personalizar los productos de Microsoft Office como Microsoft Excel. En lugar de estudiar minuciosamente a través de una hoja de cálculo Excel para identificar las filas duplicadas, una macro de Excel puede identificar las filas duplicadas. Una macro de Excel es un pequeño fragmento de código VBA que se puede ejecutar directamente desde el Editor de Visual Basic.

Instrucciones

1 Seleccionar las columnas de datos que desea comparar para las filas duplicadas. Por ejemplo, si desea comprobar la columna A para las filas duplicadas, haga clic en "A"

2 Abrir el VBE con la tecla "Alt" y "F11" juntos en el teclado. Esto abre la ventana VBE.

3 Haga clic en "Abrir" y luego haga clic en "módulos". Una ventana en blanco se abrirá en el VBE.

4 Cortar y pegar el código siguiente en la ventana en blanco de la Etapa 3:

DeleteDuplicateRows Public Sub ()
'DeleteDuplicateRows

Dim I As Long
Dim N As Long
Dim V como variante
Dim Rng como gama

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

Establecer RNG = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

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

N = 0
Para R = Rng.Rows.Count Para Paso 2 -1
Si R Mod 500 = 0 Entonces

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

Terminara si

V = Rng.Cells (R, 1) .Value

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
Siguiente R

ENDMAKRO:

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

End Sub

5 Pulse la tecla "F5" para ejecutar el procedimiento. La macro se ejecutará y eliminar las filas duplicadas.

Consejos y advertencias

  • Esta macro se eliminarán todas las filas duplicadas en la misma columna, a excepción del número de registro más bajo. Guardar una copia de sus datos antes de ejecutar la macro en caso de que no obtenga los resultados que estaban esperando.