Cómo llamar a una API desde una macro en Excel
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Cómo llamar una API desde Excel con VBA (Ejemplo real con Banxico)
Integrar Excel con servicios externos puede transformar por completo tu forma de trabajar. En lugar de capturar datos manualmente, puedes automatizar la consulta de información financiera en tiempo real.
En esta guía aprenderás paso a paso cómo conectar Excel con la API de Banxico utilizando VBA, una habilidad extremadamente útil para analistas, contadores, desarrolladores y cualquier profesional que trabaje con datos.
¿Por qué conectar Excel con una API?
Las APIs permiten que Excel obtenga datos actualizados directamente desde la fuente oficial, lo que mejora la precisión de tus reportes y elimina tareas repetitivas.
- Evitas capturas manuales
- Obtienes datos en tiempo real
- Reduc es errores humanos
- Automatizas procesos financieros
- Aumentas tu productividad
Una vez que domines esta técnica, podrás conectar Excel con múltiples servicios como indicadores económicos, tipos de cambio o plataformas de datos.
¿Qué necesitas antes de empezar?
- Excel habilitado para macros (.xlsm)
- Un token válido de la API de Banxico. Puedes obtenerlo aquí: Cómo obtener un token de Banxico
- El complemento VBA JSON para analizar respuestas JSON
Paso a paso para llamar a la API desde Excel
- Abre el editor de VBA (Alt + F11).
- Crea un nuevo módulo.
- 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
token = "TU_TOKEN"
URL = "https://www.banxico.org.mx/SieAPIRest/service/v1/series/SF43718/datos/oportuno?token=" & token
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", URL, False
http.Send
If http.Status = 200 Then
respuesta = http.responseText
Set JSON = JsonConverter.ParseJson(respuesta)
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: " & http.Status
End If
End Sub
Instalar el analizador JSON
Descarga el archivo JsonConverter.bas desde el repositorio oficial:
VBA-JSON en GitHub
- En el editor VBA selecciona
Archivo → Importar archivo - Elige el archivo descargado
Ejecutar la macro
- Cierra el editor VBA (Alt + Q)
- Ve a
Desarrollador → Macros - Selecciona LlamarAPI
- Haz clic en Ejecutar
Los datos se escribirán automáticamente en tu hoja de Excel: fechas en la columna A y valores en la columna B.
Video demostrativo
Lleva esta automatización más lejos
Si te interesa profundizar en la automatización financiera, también puede resultarte útil aprender cómo obtener el valor de las UDIS desde Excel usando la API de Banxico.
Conclusión
Conectar Excel con una API es una de las habilidades más valiosas para cualquier profesional que trabaje con datos. No solo mejora la precisión de tus análisis, también te permite ahorrar horas de trabajo operativo.
Una vez que domines esta técnica, podrás automatizar prácticamente cualquier indicador económico.
Más macros que pueden interesarte
Macros en Word
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Comentarios
Publicar un comentario
Dejanos tus dudas y comentarios