Eliminar Filas de Excel Duplicadas con Varios Criterios
En este post te muestro de forma fácil Como Eliminar Filas de Excel que contienen registros duplicados dependiendo de uno o muchos criterios, verás como con una líneas de código la macro elimina las filas duplicadas de Excel tendiendo como criterio que para que estén duplicadas debe existir coincidencia en varias columnas.
Quieres operar Excel en forma productiva haz click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer debes click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA entonces debes obtener unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.
Suscribe a nuestro canal de You Tube, mira el playlist con vídeos relacionados donde podrás ver la macro en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.
Macro para Eliminar Registros Duplicados
La macro es muy simple, descarga el ejemplo desde el final del post y verás lo sencillo que es quitar filas de Excel con varios criterios, solo debes seleccionar que columnas debe la macro evaluar para considerar un registro duplicado, este ejemplo funciona para un criterio o para varios criterios.
Es decir si tu requieres que la macro solamente considere duplicados, los registros iguales de una columna analizará esa sola columna y suprimirá los registros duplicados que encuentre.
Si se desea establecer dos o más criterios, bastará especificar a la macro cuales son las columnas que debe tener en cuenta que deben ser iguales para considera un registro duplicado, luego eliminar las filas con un simple click, tan sencillo como eso es el ejemplo que te muestro en este post.
Quizás también interese leer:
Como eliminar dato seleccionado del listbox con doble click
Como eliminar dato seleccionado del listbox con enter
Como eliminar dato seleccionado del listbox y libro excel con doble click
Código que permite eliminar suplir filas Excel duplicadas con varios criterios
El código de la macro de Excel para quitar filas se encuentra en la Macro «EliminaDuplicado» lo que se debe realizar en primer lugar es establecer el rango donde se encuentran los datos, en este caso los datos comienzan en la fila 1 y con el siguiente código determinados la última fila con datos en la hoja de Excel:
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
Sabiendo donde se encuentra el rango de datos, que en este caso será desde la fila uno hasta la fila que se obtenga en la variable «uf» se debe determinar que columna en caso de un solo criterio o que columnas en caso de varios criterios se encuentran los datos que la macro debe analizar para determinar si son duplicados, el número de esas columnas se colocan en esta parte del código:
Columns:=Array(2, 4)
Se deben fijar que (2,4) significa que la macro debe analizar la columna 2 o columna «B» y la columna 4 o columna «D», los registros de dichas celdas y fila correspondiente por supuesto deben ser iguales para que sean duplicados y la macro de Excel elimine las filas duplicadas.
Por último para eliminar los registros se hace con la siguiente linea de códigos, como verán es sumamente fácil eliminar quitar o suprimir registros duplicados en excel, el código que lo hace es el siguiente:
a.Range(«A1:G»& uf).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes
Descarga del Código del Ejemplo Como Eliminar Filas Duplicadas Dependiendo de Uno o Varios Criterios
Finalizando el post se encuentra el link de descarga el ejemplo que contiene el código explicado, mira en la categoría Eliminar Filas en Excel más ejemplos, en caso que puedas recuerda aportar para sostener la web.
Código que se ingresa en un módulo de VBA -Excel
Los códigos a continuación se encuentran en el módulo 1 del ejemplo que se descarga de este post
Sub EliminaDuplicado()
Application.ScreenUpdating = False
On Error Resume Next
Set a = Sheets(«Hoja1»)
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
a.Range(«A1:G» & uf).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes
MsgBox («Los datos se elimnaron se éxito»), vbInformation, «AVISO»
Application.ScreenUpdating = True
End Sub
Sub DeNuevo()
Set a = Sheets(«Hoja1»)
uf = Range(«A» & Rows.Count).End(xlUp).Row
a.Range(«A1:G» & uf).Clear
Sheets(«Hoja2»).Range(«A:G»).Copy Destination:=a.Range(«A1»)
MsgBox («Se copio la base de datos nuevamente»), vbInformation, «AVISO»
End Sub
Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407