Generar códigos QR desde Excel

Los códigos QR son la evolución de los Códigos de barras, los cuales guardan números. En cambio, un código QR puede guardar emails, texto, SMS, etc.

En este tutorial aprenderás a crear códigos QR desde Excel usando macros (VBA).

Para estar a la mano, nos auxiliamos de Chat GPT para que nos proporcione un código y luego adecuarlo a lo que necesitamos.

Video Generar QR desde Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Cómo lo logramos

Generar códigos QR en Excel usando macros - exceleinfo
Generar códigos QR en Excel usando macros – exceleinfo

Para empezar, entramos a Chat GPT para pedirle una macro que nos ayude a insertar códigos QR en una celda de Excel.

El código que nos generó lo adecuamos para que inserte QR por cada celda que tenga un link a una página Web.

Código VBA de la macro (versión final)

Nos basamos en temario de mi Curso de Macros para modificar este código.

Option Explicit
‘Mi canal de YouTube | youtube.com/user/sergioacamposh
‘Mi Sitio | exceleinfo.com
‘Descarga mi add-in | addin.exceleinfo.com
‘Obtén la Certificación Excel Expert | exceleinfo.com/certificacion-mos

Sub GenerarCodigoQR()

Call EliminarObjetos
Sheets(“Hoja1”).Range(“B4”).Select

Do While ActiveCell.Offset(0, -1).Value <> “”

' Reemplace la URL o el texto que desea codificar en el código QR.
Dim texto As String
texto = ActiveCell.Offset(0, -1).Value

' URL de la API de Google Chart para generar el código QR.
Dim url As String
url = "https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=" & WorksheetFunction.EncodeURL(texto)

' Especifica la celda en la que deseas insertar el código QR.
Dim celda As Range
Set celda = ActiveCell ' Cambia "Hoja1" y "A1" según tus necesidades

' Inserta la imagen del código QR en la celda especificada.
celda.Worksheet.Shapes.AddPicture url, False, True, celda.Left, celda.Top, celda.Width, celda.Height

ActiveCell.Offset(1, 0).Select

Loop

End Sub

Sub EliminarObjetos()
‘Definimos variables
Dim Cuenta As Integer
Dim Objeto As Object

‘Inicializamos la variable Cuenta
Cuenta = 0

‘Corremos un ciclo para eliminar todas las formas de la hoja de cálculo
For Each Objeto In ActiveSheet.Shapes
Objeto.Delete
Cuenta = Cuenta + 1
Next Objeto

‘Mostramos mensaje confirmando cuántas formas fueron eliminadas
MsgBox Cuenta & ” objetos eliminados.”, vbInformation, “Hojas”

End Sub

Aprende +

Ciclos en VBA

Manejador de errores

Descargar el archivo de ejemplo

Generar código QR – EXCELeINFO.zip

⭐ Si te gustó este tutorial, por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top