Cómo crear una macro o script VBA en Excel

Microsoft Excel permite a los usuarios automatizar características y comandos usando macros y secuencias de comandos de Visual Basic for Applications (VBA). VBA es el lenguaje de programación que usa Excel para crear macros. También ejecutará comandos automatizados basados en condiciones específicas.

Macros son una serie de comandos pregrabados. Se ejecutan automáticamente cuando se da una orden específica. Si tienes tareas en Microsoft Excel que haces repetidamente, como la contabilidad, la gestión de proyectos o la nómina, la automatización de estos procesos puede ahorrar mucho tiempo.


Developer en el Ribbon de Excel, los usuarios pueden grabar los clics del ratón y las pulsaciones de teclas (macros). Sin embargo, algunas funciones requieren una programación más profunda que la que pueden proporcionar las macros. Aquí es donde el guión de VBA se convierte en un gran beneficio. Permite a los usuarios crear guiones más complejos.

En este artículo, explicaremos lo siguiente:

  • Habilitar Scripts & Macros
  • Cómo crear una macro en Excel
  • Ejemplo específico de una macro
  • Aprende más sobre VBA
  • Crea un botón para empezar con VBA
  • Añadir código para dar la funcionalidad del botón
  • <¿Funcionó?

Habilitando los guiones & Macros

Antes de crear macros o scripts VBA en Excel, debe habilitar el menú Developer en el menú Ribbon. La pestaña Desarrollador no está habilitada de forma predeterminada. Para habilitarlo:

  • Abre una hoja de trabajo de Excel.
  • Click on File ; Opciones ; Personalizar Cinta.

      • Siguiente, haga clic en Macro Security y marque la casilla junto a Habilitar todos los macros (no se recomienda; el código potencialmente peligroso puede ejecutarse).
      • Entonces haz click OK.

      La razón por la que las macros no están activadas por defecto y vienen con una advertencia es que son código informático que podría contener malware.

      Asegúrese de que el documento es de una fuente confiable si está trabajando en un proyecto compartido en Excel y otros programas de Microsoft.

      Cuando termine de usar sus scripts y macros, deshabilite todos los macros para evitar que el código potencialmente malicioso infecte otros documentos.

      Crear una macro en Excel

      Todas las acciones que haces en Excel mientras grabas un macro se añaden a él.

      • Desde la pestaña de desarrollo, haga clic en Record Macro.

      • Introduzca un Macro name, un Shortcut key, y un Description.

        Decide dónde quieres almacenar el macro de las siguientes opciones:

          Nuevo libro de trabajo: Creará un nuevo documento de Excel para almacenar las macros creadas.
        • Este libro de trabajo: Esto sólo se aplicará al documento que está editando actualmente.

        Cuando termine, haga clic en OK.

        • Corre a través de las acciones que quieres automatizar. Cuando termines, pulsa Stop Recording.
        • Ejemplo específico de un Macro

          Empecemos con una simple hoja de cálculo para los clientes y cuánto deben. Empezaremos creando una macro para dar formato a la hoja de trabajo.

          Asumamos que decides que todas las hojas de cálculo deben usar un formato diferente, como poner el nombre y el apellido en columnas separadas.

          Puedes cambiar esto manualmente. O puedes crear un programa usando una macro para formatearlo automáticamente de forma correcta para ti.

          Registrar la Macro

          • Click on Record Macro. Llamémoslo Formato_de_datos_del_cliente y hagamos clic en OK.
          • First Name.

          • Entonces inserte una columna al lado de la A y llámela Last Name.
          • Subraye todos los nombres en la primera columna (que aún incluyen nombre y apellido), y haga clic en Data desde la cinta de navegación.
          • Click on Text to Columns.

          • Tick Delimitado; Siguiente ; Separado por el espacio; Siguiente ; Finalizar. Vea la captura de pantalla a continuación y cómo el nombre y los apellidos fueron separados por el proceso de arriba.

          • Para formatear el campo de Saldo Adeudado, resalta las cantidades. Haga clic en Home ; Formato condicional; Highlight Cell Rules; Greater Than ; 0.

          Esto resaltará las células que tienen un equilibrio debido. Hemos añadido algunos clientes sin saldo para ilustrar mejor el formato.

          • Vuelve a Developer y pulsa Stop Recording.

          Aplica La Macro

          Empecemos con la hoja de cálculo original antes de grabar la macro para formatearla correctamente. Haga clic en Macros, seleccione y Run el macro que acaba de crear.

          Cuando ejecutas una macro, todo el formato se hace por ti. Este macro que acabamos de crear está almacenado en el Visual Basic Editor.

          Los usuarios pueden ejecutar macros de varias maneras diferentes. Lea Run a macro para saber más.

          Aprende más sobre VBA

          Para aprender sobre VBA, haga clic en Macro desde la pestaña Developer. Encuentra uno que hayas creado y pulsa Edit.


          También es lo que se ejecutará cuando se quiera dar formato a otras hojas de cálculo de pago de los clientes de la misma manera.

          Crea un botón para empezar con VBA

          Usando la misma hoja de cálculo de arriba con los clientes y cuánto deben, vamos a crear un convertidor de moneda.

          • Para insertar un elemento de botón, navegar al Developer tab.
          • Seleccione ActiveX Command Button del desplegable junto a Inserte en la sección Controls>strong>.

            • Para adjuntar el código, haga clic con el botón derecho del ratón y seleccione Properties. Mantendremos el Nombre como Botón de Mando y el Pie de foto aConvertir (este es el texto del botón).

            Añadir código para dar la funcionalidad del botón

            La codificación VBA no tiene lugar en la interfaz de Excel. Se hace en un ambiente separado.

            • Ve a la pestaña Developer y asegúrate de que Design Mode esté activo.

              View Code.

            • Mirando el código en la captura de pantalla de abajo, note que el principio (Private Sub) y el final (End Sub) del código ya está ahí.

              Valor de la Célula Activa = (Célula Activa * 1.28)

              Nuestro propósito en esta sección es convertir la moneda en nuestra hoja de cálculo. El guión anterior refleja el tipo de cambio de GBP a USD. El nuevo valor de una célula será el que está actualmente allí multiplicado por 1.28.

              • Ir a Archivo en la navegación superior y clic en Cerrar y volver a Microsoft Excel para volver a la interfaz principal de Excel.

              ¿Funcionó?

              Antes de poder probar su código, debe desactivar primero el modo de diseño (haga clic en él) para evitar más modificaciones y dar funcionalidad al botón.

              • Escriba cualquier número en su hoja de cálculo y luego haga clic en el botón Convert. Si el valor de su número aumenta aproximadamente un cuarto, funcionó.

              Para este ejemplo, puse el número 4 en una celda. Después de hacer clic en Convert, el número cambió a 5.12. Ya que 4 veces 1.28 es 5.12, el código se llevó a cabo correctamente.

              Ahora que entiendes cómo crear un macro o script en Excel, puedes usarlos para automatizar una multitud de acciones en Excel.

Deja una respuesta

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