-
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 ()
'DeleteDuplicateRowsDim I As Long
Dim N As Long
Dim V como variante
Dim Rng como gamaOn Error GoTo ENDMAKRO
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManualEstablecer 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 EntoncesApplication.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 IfMás
If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
Rng.Rows(R).EntireRow.Delete
N = N + 1
End IfTerminara si
Siguiente RENDMAKRO:
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.