📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

Imagen
 Si trabajas en una oficina, seguro te enfrentas a tareas repetitivas que consumen mucho tiempo, como copiar datos de una tabla en Word a una hoja de Excel.   Afortunadamente, existe una forma de automatizar este proceso mediante macros en Word, lo que te permitirá ahorrar tiempo y esfuerzo, y enfocarte en tareas más importantes. ¿Qué es una macro? Una macro es una secuencia de instrucciones que te permite automatizar tareas repetitivas en aplicaciones como Word y Excel. Utilizando el lenguaje VBA (Visual Basic for Applications), puedes escribir códigos que realicen tareas como copiar tablas de un documento de Word y pegarlas en una hoja de Excel con solo hacer clic en un botón. ¿Por qué debería usar una macro para convertir tablas de Word a Excel? Ahorra tiempo : Si trabajas con grandes cantidades de datos, una macro puede copiar todo de una tabla a Excel de forma rápida y precisa. Minimiza errores : El proceso manual de copiar y pegar puede dar lugar a errores humanos, ...

Cómo llamar a una API desde una macro en Excel

 Si alguna vez te has preguntado cómo interactuar con servicios externos desde Excel, este tutorial te lo explica paso a paso. En esta entrada veremos como utilizar VBA (Visual Basic for Applications) en una Macro de Excel. Usaremos como ejemplo la API de Banxico, que permite consultar el tipo de cambio.

¿Qué necesitas?

  • Excel habilitado para macros. Asegúrate de que tu archivo tenga la extensión .xlsm.
  • Un token válido para la API de Banxico. Si no tienes uno, puedes registrarte en su sitio oficial. Para explicarte como obtenerla te dejo el link Como obtener token de Banxico y también al final de la publicación en un video donde lo explico. 
  • El complemento VBA JSON para analizar respuestas JSON en VBA (te explico cómo instalarlo más adelante).

Paso a paso para llamar a la API

  1. Abre el editor de VBA en Excel (Alt + F11) y crea un nuevo módulo.
  2. Copia y pega el siguiente código:
Sub LlamarAPI()
    Dim http As Object
    Dim JSON As Object
    Dim URL As String
    Dim token As String
    Dim respuesta As String
    
    ' Define la URL y el token
    token = "TU_TOKEN"
    URL = "https://www.banxico.org.mx/SieAPIRest/service/v1/series/SF43718/datos/oportuno?token=" & token

    ' Crea el objeto XMLHTTP para realizar la solicitud
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", URL, False
    http.Send

    ' Verifica si la solicitud fue exitosa
    If http.Status = 200 Then
        respuesta = http.responseText
        
        ' Analiza el JSON devuelto
        Set JSON = JsonConverter.ParseJson(respuesta)
        
        ' Extrae información del JSON y la coloca en la hoja de cálculo
        Dim datos As Object
        Dim serie As Object
        Dim item As Object
        Dim i As Long
        
        Set datos = JSON("bmx")("series")
        For Each serie In datos
            i = 1
            For Each item In serie("datos")
                Cells(i, 1).Value = item("fecha")
                Cells(i, 2).Value = item("dato")
                i = i + 1
            Next item
        Next serie
    Else
        MsgBox "Error al realizar la solicitud. Código de estado: " & http.Status
    End If
End Sub

Api banxico macro de excel


  1. Descarga e importa el analizador JSON: Descarga el archivo JsonConverter.bas desde el repositorio VBA-JSON y agrégalo a tu proyecto (Archivo > Importar archivo en el editor VBA).
  2. Ejecuta la macro: Ve a Desarrollador > Macros, selecciona LlamarAPI y presiona Ejecutar.

Pasos adicionales:

  1. Referencias para analizar JSON: Este código utiliza el analizador de JSON de VBA llamado VBA JSON. Descárgalo desde GitHub y agrégalo a tu proyecto.

    • En el editor VBA, selecciona Archivo > Importar archivo y elige el archivo JsonConverter.bas descargado.
  2. Ejecuta la macro:

    • Cierra el editor VBA (Alt + Q).
    • En Excel, ve a Desarrollador > Macros, selecciona LlamarAPI y haz clic en Ejecutar.

Los datos obtenidos de la API se escribirán en la hoja que tengamos abierta. En este ejemplo, se mostrarán las fechas en la columna A y los valores en la columna B.


Les comparto un video de como se ve la ejecución de la macro



¿Te ha funcionado?

Si tienes dudas o necesitas ayuda, ¡deja tu comentario y estaré encantado de ayudarte! 😊

Les comparto la liga a otras macros en este blog.

Macros en Word

  1. Macro de Word utilizando Chatgpt
  2. Macro en Word para contar palabras
  3. Ejemplo Macro en WOrd
  4. Cómo Comparar Versiones de Documentos en Word con una Macro: Guía paso a paso
  5. Macro en Word para generar contratos automáticamente: Paso a paso
  6. Macro en word para leer datos de Excel

Macros en Access

  1. https://www.programacionparatodos.com/2021/02/macros-en-access-de-microsoft.html

Macros en  PowerPoint

  1. Cómo Utilizar una Macro en PowerPoint
  2. Cómo hacer una grafica en power point leyendo datos de Excel

Comentarios

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