Fracasar en Blogger intentando ganar dinero: lo que aprendí después de años escribiendo

Bienvenid@ a Programación para Todos, un espacio para aprender a programar desde cero con ejemplos sencillos en PHP, HTML, JavaScript, Python, C++, SQL, y más. Aquí encontrarás historia, conceptos clave y aplicaciones reales. Porque la programación no es solo para expertos: en todo proyecto de software se necesita un equipo que entienda, colabore y construya en conjunto
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 tipo Worksheet
para representar la hoja de trabajo.Set ws = ThisWorkbook.Sheets("Hoja4")
asigna a la variable ws
la hoja con el nombre "Hoja4" del libro de trabajo actual.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:
Consideraciones adicionales:
Set ws = ThisWorkbook.Sheets("Hoja4")
.ws
.Columns
en el método RemoveDuplicates
.
Comentarios
Publicar un comentario
Dejanos tus dudas y comentarios