Macro en Excel para remover filas duplicadas.VBA programación para todos.
En ocasiones necesitamos remover datos duplicados en nuestros datos de salida de alguna hoja de Excel. En esta ocasión les comparto una función en VBA para poder hacerlo.
En mi caso tengo una Macro que válida datos y va escribiendo el análisis en la hoja4 y necesito que remueva resultados duplicados para ello utilizo la siguiente función .
En esta macro la pueden ajustar para que no sea la hoja4 y sea otra celda para eliminar duplicados.
Sub EliminarDuplicadosColumna()
' Especifica la hoja donde quieres trabajar
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Hoja4")
' Encuentra la última fila con datos en la columna Q de la hoja especificada
Dim LastRow As Long
'columna q la cual puedes cambiar por cualquier otra
LastRow = ws.Cells(ws.Rows.Count, "Q").End(xlUp).Row
' Define el rango a evaluar en la hoja especificada
Dim rng As Range
Set rng = ws.Range("Q1:Q" & LastRow)
' Elimina los duplicados, manteniendo la primera aparición
rng.RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
Explicación del código:
-
Especificar la hoja:
Dim ws As Worksheet
declara una variable de tipoWorksheet
para representar la hoja de trabajo.Set ws = ThisWorkbook.Sheets("Hoja4")
asigna a la variablews
la hoja con el nombre "Hoja4" del libro de trabajo actual.- Encontrar la última fila:
-
LastRow = ws.Cells(ws.Rows.Count, "Q").End(xlUp).Row
encuentra la última fila con datos en la columna Q de la hoja especificada (ws
).
-
Definir el rango:
Set rng = ws.Range("Q1:Q" & LastRow)
define el rango de la columna Q desde la fila 1 hasta la última fila con datos en la hoja especificada.
Eliminar duplicados:
rng.RemoveDuplicates Columns:=1, Header:=xlNo
elimina los duplicados en el rango especificado, considerando solo la columna Q y sin considerar la primera fila como encabezado.
Cómo usar el código:
- Abrir tu libro de Excel: Asegúrate de que el libro de Excel esté abierto y que la hoja 4 exista.
- Insertar un módulo: En el editor de Visual Basic, inserta un nuevo módulo.
- Pegar el código: Copia y pega el código en el módulo.
- Ejecutar el código: Presiona F5 o haz clic en el botón de reproducción para ejecutar el procedimiento.
Consideraciones adicionales:
- Nombre de la hoja: Verifica que el nombre de la hoja sea correcto. Si es diferente, cámbialo en la línea
Set ws = ThisWorkbook.Sheets("Hoja4")
. - Otras hojas: Puedes crear un procedimiento similar para otras hojas cambiando el nombre de la hoja en la variable
ws
. - Múltiples columnas: Si quieres eliminar duplicados en varias columnas, ajusta el rango y el parámetro
Columns
en el métodoRemoveDuplicates
.
Comentarios
Publicar un comentario