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.



Ejemplos de Macros VBA


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:

  1. 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.

    1. 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).
  2. 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:

  1. Abrir tu libro de Excel: Asegúrate de que el libro de Excel esté abierto y que la hoja 4 exista.
  2. Insertar un módulo: En el editor de Visual Basic, inserta un nuevo módulo.
  3. Pegar el código: Copia y pega el código en el módulo.
  4. 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étodo RemoveDuplicates.
 Les comparto un video explicando la macro y como ejecutarla




Comentarios

Entradas más populares de este blog

Ejemplo Macro en Word

Macro de Excel para abrir archivo csv

Como ejecutar SQL desde Tareas Programadas de Windows