Cómo unir archivos CSV dentro de ZIP automáticamente con PowerShell

Imagen
Cómo unir archivos CSV dentro de ZIP automáticamente con PowerShell Automatiza la consolidación de reportes CSV provenientes de múltiples archivos ZIP sin duplicar encabezados. Cuando trabajamos con reportes generados por diferentes sistemas es bastante común recibir información distribuida en varios archivos CSV, muchas veces comprimidos dentro de archivos ZIP. Por ejemplo, podemos recibir diariamente: Reportes de facturación. Archivos de pedidos. Información de embarques. Reportes de logística. Archivos generados por un ERP. Información descargada de algún sistema administrativo. Reportes enviados por diferentes sucursales. El problema aparece cuando tenemos que juntar todos esos archivos manualmente. Abrir cada ZIP, extraer el CSV, copiar la información, pegarla en otro archivo y repetir el proceso puede convertirse en una tarea repetitiva y propensa a errores. En este artículo vamos a crear un pequeño script de PowerShell que automatiza este pro...

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

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)