¿100 CFDI en 40 segundos? Valida XML del SAT con Excel

Imagen
🤯 ¿100 CFDI en 40 segundos? Automatiza la validación de XML con Excel ¿Cuánto tiempo dedicas a revisar archivos XML de facturas electrónicas? Si trabajas con contabilidad, cuentas por pagar, cuentas por cobrar o administración, sabes que validar muchos comprobantes fiscales puede convertirse en una tarea repetitiva. 🚀 ¿Y si pudieras procesar 100 archivos XML en aproximadamente 40 segundos? En esta demostración utilizo una macro de Excel diseñada para automatizar la validación masiva de CFDI y consultar su estado ante el Servicio de Administración Tributaria (SAT). 📊 ¿Qué hace esta macro de Excel? La herramienta permite seleccionar una carpeta con archivos XML y procesar múltiples comprobantes sin tener que revisarlos individualmente. Procesa varios archivos XML de CFDI. Extrae información de los comprobantes fiscales. Consulta el estado de los CFDI ante el servicio del SAT....

Macro de Excel para ordenar datos y obtener datos únicos de una columna o fila

Hola en esta ocasión les quiero compartir un ejemplo de una macro de Excel para poder ordenar datos de columnas y obtener los datos únicos de una columna.

Por ejemplo yo tengo un Archivo de Excel del que quiero obtener las fechas para poder obtener los datos y los mostrare en una columna, la pantalla de ejemplo se ve así




  • El primer caso es para obtener los fechas únicas de una columna y colocarlas en una columna

'select dates filas
    'Declaramos variables
    Dim fin As Long, i As Long, unicos As Variant, unicos2 As Variant
    With Sheets("InputFile")
        fin = Application.CountA(.Range("A:A"))
        unicos = WorksheetFunction.Unique(.Range("A1:A" & fin))
        'Obtenemos los datos de la matriz y los pasamos a una columna
        i = 0
        For i = LBound(unicos) To UBound(unicos)
            .Cells(i + 1, 5) = unicos(i, 1)
            Next i
        .Range("E2:E100").Select
        Selection.Columns.Sort key1:=Columns("E"), Order1:=xlAscending
    End With
  • Ahora obtener las fechas únicas pero de una fila y colocarlos en una columna
'select dates columnas
    With Sheets("InputFile")
        fin = 0
        unicos2 = WorksheetFunction.Unique(.Range("H1:AE1"))
        'Obtenemos los datos de la matriz y los pasamos a una columna
        i = 0
        For i = LBound(unicos) To UBound(unicos)
            If unicos2(i) <> Empty Then
                .Cells(i + 1, 6) = unicos2(i)
          End If
            Next i
        End With
    Worksheets("InputFile").Range("F2:F100").Select

    ' Sort column C, after column N and after column F
    Selection.Columns.Sort key1:=Columns("F"), Order1:=xlAscending
Blog de Programacion para todos


Como se ve el archivo después de correr la macro
Macro_unicos_ordenar datos Blog de programacion

Les comparto un video para ver cómo funciona la macro


Esta macro la probé en la versión Excel 2019 y Microsoft 365, espero les sea de utilidad y puedan aplicarla en su trabajo o en la escuela

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)

Cómo crear un Predictor de Partidos de Fútbol con JavaScript y API-Football