Generar Códigos QR en Excel con Macro y VBA

Tutorial Avanzado FÁCIL: Aprende a generar tus propios códigos QR en Excel con Macros y VBA. Puedes descargar el código haciendo clic en el botón verde de la parte inferior del vídeo.

¿Qué es un Código QR?

Un código QR (del inglés Quick Response code, «código de respuesta rápida») es la versión mejorada del código de barras. Este código sirve para almacenar información en una matriz de puntos o en un código de barras bidimensional. Fue creado en 1994, pero su uso se ha extendido masivamente en los últimos años, ya que tiene un sinnúmero de aplicaciones.

Cómo crear un código QR en Microsoft Excel

En tutoriales pasados aprendimos a generar códigos de barras en Excel, esta vez veremos cómo generar códigos QR con Excel gratis.


Cómo corregir el error en el código:

Un agradecimiento especial a Hector Castro, que se tomó el tiempo para sugerir una solución al programa de QR con Excel.

Hola, Me gusto mucho el vídeo, estoy trabajando con códigos QR y este tutorial me ha ayudo a mejorar un poco la macro que tenia. Sin embargo al principio tuve el mismo error que muchos dicen en los comentarios. Lo pude solucionar de la siguiente manera:

*Paso 1: Copian la descripción de la macro igual del link del video.
*Paso 2: La primera linea dice: #If VBA7 And Win64 Then (Pensando; creo que se refiere al tipo de procesador que tiene su computadora); lo cambian a #If VBA7 And Win32 Then
*Paso 3: Se van a la parte donde aparece el link: Link = «http://chart.apis.google.com/chart?ch…» & Valor.Value & «&chld=H|0» y lo cambian por: Link = «http://chart.apis.google.com/chart?cht=qr&chs=300×300&chl=» & Valor.Value & «&chld=H|0»
*Paso 4: No olviden cambiar la el nombre de la hoja donde procesaran la macro a wGenerador como lo dice en el vídeo
Nota 1: Estuve intentando de varias maneras hacerlo funcionar y así como lo explique pude solucionarlo. Espero les funcione.

Aplicaciones de los códigos QR

Los códigos QR pueden usarse de muchas maneras. Básicamente, puedes entenderlo como una especie de «llave digital» que te permite acceder al contenido virtual que fue encriptado en dicho código.

Podemos usar códigos QR para almacenar información de una base de datos, ejecutar una acción como abrir una aplicación en internet, compartir un mapa de localización, un correo electrónico, una página web o un perfil en una red social.

Ejemplos:

Los códigos QR son útiles para las empresas, pues les permiten estar más en contacto con los clientes, conocer sus necesidades y aclarar sus dudas. Estos códigos QR no solo darían información, sino que se presentarían como una oportunidad de difundir y recibir información de los clientes, generar campañas de marketing, etc.

En algunos museos y lugares históricos se usan los códigos QR para proporcionar información adicional sobre objetos y monumentos. De este modo, el visitante puede ser guiado utilizando un móvil inteligente. La información ofrecida puede ser en formato multimedia con información complementaria mediante audios, vídeos, textos, etc.

También se utilizan comúnmente en el campo de las monedas criptográficas, como el Bitcoin. Direcciones de pago, claves criptográficas y la información de transacciones a menudo son compartidos entre carteras digitales de esta manera.

Los Códigos QR pueden ser personalizados y esto permite que las marcas incorporen su identidad visual en ellos. Eso sí, se debe seguir algunas estructuras básicas de los Códigos QR para que estos sean legibles a los decodificadores, sin embargo es una potente herramienta de mercadeo que se está aprovechando en nuestros días.

Cómo leer códigos QR con el celular

Hoy en día los teléfonos de gama media y alta ya son capaces de leer códigos QR simplemente con la aplicación de cámara. Pero si ese no fuera el caso, puedes ir a la PlayStore para descargar un escáner o lector de códigos QR.

Una vez instalado, solo tienes que enfocar el código con la cámara y esperar unos segundos.

¡Prueba con este código!

Código QR del canal El Tío Tech

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  1. Buenas Tardes Para todo realice todos los pasos pero me da este error de compilacion: Se esperaba: constante de cadena que debo hacer gracias

  2. me sale error

     ‘Ingreso la imagen
           Set QR = ActiveSheet.Pictures.Insert(Ruta) ——->aca en la ruta me sale error
           Kill Ruta
           With wGenerador
               nTop = .Range(«B» & Valor.Row).Top
               lado = .Range(«B» & Valor.Row).Width
               izqui = .Range(«B» & Valor.Row).Left
               With QR
                   .Top = nTop
                   .Width = lado
                   .Left = izqui
               End With
               .Range(«B» & Valor.Row).RowHeight = lado
           End With
       ‘—————–

  3. Sub crearqrindividual(Valor As Range)
       Dim Link$, Ruta$, QR As Object
       Dim lado&, izqui&, nTop&
       ‘Descargo el código QR
           If Valor.Value = Empty Then
               Exit Sub
           End If

           Link = «http://chart.apis.google.com/chart?ch…» & Valor.Value & «&chld=H|0»
           Ruta = ThisWorkbook.Path & «\chart.png»
           URLDownloadToFile 0, Link, Ruta, 0, 0
    NO SE HA DEFINIDO SUB O FUNCTION

  4. Saludos vi el video y me interesa hacer los codigos masivos. Me aparece este error. Si me pueden ayudar

  5. Tío Tech, Tu forma de explicar mostrando las imágenes es fabulosa. Te he seguido desde hace mucho tiempo y he aprendido mucho.
    Personas como tú hacen un enorme bien a la humanidad compartiendo conocimiento y recomiendo tu sitio cada vez que se me presenta la oportunidad.
    También enseño y capacito, porque es de mis mayores satisfacciones poder contribuir a la formación de las personas.
    Un abrazo muy grande desde la distancia con mis muestras de aprecio y respeto por tu magnífica labor.

  6. buenas noches me sigue saliendo error . Sub CrearQRIndividual(Valor As Range) en esta parte y sale una ventana donde dice «no se ha definido Sub o function» que hago para corregir esto

    1. Lo que yo hice fue agregarle Sheets() antes de wGenerador, es decir, queda asi:
      Sheets(«wGenerador») en lugar de nada mas wGenerador, entiendo que el problema es que no ubica a wGenerador y al indicarle que es el nombre de la Hoja ya funciona.

  7. Hola Buenas, no logro solucionar el error que me da en la creación del código Qr en Excel con macro, me sale el mensaje de Error de compilación se esperaba: fin de la instrucción. Porfavor necesito vuestra ayuda.

    Saludos

  8. buenas noches estimados , desde Colombia , les envio un saludo fraternal y muchas gracias por sus aportes en esta labor de compartir conocimientos.

    en la imagen adjunta , también se presenta el error en la linea Sub CrearQRIndividual(Valor As Range)

  9. Estimados, al correr el codigo sobre la funcion Sub CrearQRIndividual(Valor As Range), remarca este error, porfsvor como puede compilarse de buena forma este?.agradezco su atencion

    1. #If VBA7 And Win64 Then
       Private Declare PtrSafe Function URLDownloadToFile Lib «urlmon» _
        Alias «URLDownloadToFileA» ( _
        ByVal pCaller As LongPtr, _
        ByVal szURL As String, _
        ByVal szFileName As String, _
        ByVal dwReserved As LongPtr, _
        ByVal lpfnCB As LongPtr _
        ) As Long
      #Else
       Private Declare Function URLDownloadToFile Lib «urlmon» _
        Alias «URLDownloadToFileA» ( _
        ByVal pCaller As Long, _
        ByVal szURL As String, _
        ByVal szFileName As String, _
        ByVal dwReserved As Long, _
        ByVal lpfnCB As Long _
        ) As Long
      #End If

      Sub CrearQRIndividual(Valor As Range)
       Dim Link$, Ruta$, QR As Object
       Dim lado&, izqui&, nTop&
       ‘Descargo el código QR
        If Valor.Value = Empty Then
         Exit Sub
        End If
         
        Link = «https://chart.apis.google.com/chart?cht=qr&chs=300×300&chl» & Valor.Value & «&chld=H|0»
        Ruta = ThisWorkbook.Path & «\chart.png»
        URLDownloadToFile 0, Link, Ruta, 0, 0
       ‘—————–
        
       ‘Ingreso la imagen
        Set QR = ActiveSheet.Pictures.Insert(Ruta)
        Kill Ruta
        With wGenerador
         nTop = .Range(«B» & Valor.Row).Top
         lado = .Range(«B» & Valor.Row).Width
         izqui = .Range(«B» & Valor.Row).Left
         With QR
          .Top = nTop
          .Width = lado
          .Left = izqui
         End With
         .Range(«B» & Valor.Row).RowHeight = lado
        End With
       ‘—————–
      End Sub
      Sub LimpiarImagenes()
       Dim imagen As Picture
       For Each imagen In ActiveSheet.Pictures
        imagen.Delete
       Next
       wGenerador.Range(«A4», «A» & Rows.Count).RowHeight = wGenerador.Range(«A1»).RowHeight
      End Sub

      Sub LimpiarTodo()
       LimpiarImagenes
       wGenerador.Range(«A4», «A» & Rows.Count) = Empty
      End Sub

      Sub CrearQRMasivo()
       Dim n&, i&
       With wGenerador
        n = .Range(«A» & Rows.Count).End(xlUp).Row
        For i = 2 To n
         CrearQRIndividual .Range(«A» & i)
        Next
       End With
      End Sub

  10. Hola el problema que me arroja es «error de compilación: se esperaba constante de cadena»

     Private Declare PtrSafe Function URLDownloadToFile Lib «urlmon» _
     
    Resaltando urlmon