Excel VBA – Agregar Botón

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on diciembre 22, 2022

Este tutorial demostrará cómo agregar un botón de macro en Excel VBA.

Una vez que hemos creado macros en Excel, a veces es útil crear un botón en la hoja de cálculo de Excel para ejecutar la macro.

Además, como utilizamos VBA para crear Formularios en Excel, necesitamos poder crear botones en estos Formularios para realizar las operaciones Aceptar y Cancelar. Este tutorial mostrará cómo agregar un botón de macro a una hoja de cálculo VBA, cómo agregar una macro a una forma en VBA (en lugar de un botón) y cómo agregar un botón a un Formulario en el Editor VBE.

Cómo Agregar un Botón de Macro a una Hoja de Cálculo

Una vez que hemos creado una macro en Excel VBA, podemos crear un botón en la hoja de cálculo para ejecutar la macro.

En la cinta de opciones, seleccione la ficha Programador si está visible. Esta pestaña está desactivada por defecto, así que tendrás que activarla para ver la pestaña en la cinta.

Si la pestaña Desarrollador no está visible en la cinta, haga clic en la pestaña Archivo de la cinta y baje hasta Opciones. En las opciones de Personalizar cinta, marque la casilla Programador.

Habilitar Tab de Programador en Excel

Haz clic en Aceptar. Aparecerá la pestaña Desarrollador en la cinta principal.

Pestaña de Programador en Excel

 

Hay 2 tipos de botones que podemos añadir a una hoja Excel – un botón de Control de Formulario y un Botón de Control ActiveX.

Agregar un Botón de Control de Formulario

En la cinta de opciones, seleccione Programador > Insertar > Controles de formulario > Botón.

Agregar Botón Control de Formulario

Haga clic y arrastre en la hoja de cálculo para crear un botón. En cuanto suelte el botón del ratón, aparecerá el cuadro de diálogo Asignar macro.

Agregar Botón Control de Formulario Paso2

Desplácese hacia abajo para 1) seleccionar la macro que desea asignar al botón y, a continuación, 2) haga clic en Aceptar.

Agregar Botón Control de Formulario Paso3

Haga clic con el botón derecho en el botón y seleccione Editar texto para cambiar el texto del botón.

Editar Texto del Botón

 

Escriba un nombre apropiado para el botón y luego haga clic fuera del botón. Haga clic en el botón para ejecutar la macro.

Ejecutar Botón

Para cambiar el formato del botón, haga clic con el botón derecho en el botón y seleccione Control de formato.

Cambiar Formato del Botón

Seleccione las opciones de formato y haga clic en Aceptar.

Cambiar Color de Fuente de Botón

Agregar un Botón ActiveX

El botón ActiveX es similar a un Botón de Control de Formulario pero en lugar de asignar una macro existente al botón, necesitamos escribir código detrás del Evento Click del botón. También tiene muchas más propiedades que el botón de control de formulario, lo que lo convierte en un control mucho más flexible. En la cinta de opciones, seleccione Programador > Insertar > Controles ActiveX > Botón de comando.

Agregar Botón Control ActiveX

Haga clic y arrastre en la hoja de cálculo para crear el botón. El botón aparecerá como un Botón de comando incrustado.

Botón Control ActiveX Insertado

 

Para cambiar el nombre del botón de comando, o el texto que se muestra, haga clic con el botón derecho en el botón de comando y haga clic en Propiedades.

Cambiar Nombre Botón ActiveX

Modifique 1) el nombre del botón, 2) la leyenda del botón y 3) el formato del texto según sea necesario.

Cambiar Formato a Botón ActiveX

Para añadir código al botón, vuelva a hacer clic con el botón derecho en el botón y seleccione Ver código.

Ver Código Botón ActiveX

Esto creará automáticamente el evento clic para el botón en el Editor VBE. (el evento clic es el más común para los botones de comando y se crea por defecto).

Código Evento Click Botón ActiveX

Escriba el código que necesite en el evento que se ha creado.

Private Sub cmdConvertirFecha_Click()
    Dim dte As String
    Dim strD As String
    strD = "22/12/2022"
    dte = Format(CDate(strD), "dd mmmm yyyy")
    MsgBox dte
End Sub

Cierre el Editor VBE para volver a su hoja de cálculo.

Haga clic una vez más en su nuevo botón. Observará que la macro no se ejecuta, pero el botón queda seleccionado. Esto se debe al hecho de que cuando crea un botón ActiveX, se pone automáticamente en Modo Diseño.

Modo de Diseño

Para ejecutar el código que hay detrás del botón, haga clic en el botón Modo de diseño de la cinta de opciones para salir del modo de diseño y, a continuación, haga clic en el botón.

Ejecutar Botón Control ActiveX

 

Agregar una Macro a una Forma de una Hoja de Cálculo

En la cinta de opciones, seleccione Insertar > Forma.

Insertar Forma en Excel

Seleccione la forma en el menú desplegable y, a continuación, arrástrela a la hoja de cálculo de Excel para crear la forma.

Insertar Forma en Excel Paso2

Haga clic con el botón derecho en la forma y seleccione Asignar macro.

Asignar Macro a Forma

Seleccione la macro que desea asignar y haga clic en Aceptar.

Macro Asignada a Forma

 

Al mover el ratón sobre la forma, el cursor del ratón debería convertirse en una pequeña mano. Haga clic en la forma para ejecutar la macro.

Agregar Botones de Comando a Formularios en VBA

Crear Formularios de Usuario VBA es una gran parte de la programación en VBA. Le permite construir una interfaz de usuario de aspecto profesional para comunicarse con los usuarios de su aplicación VBA. También le permite controlar totalmente al usuario en lo que están haciendo a su libro de trabajo. Para aprender a crear UserForms en VBA, haga clic aquí.

Una vez que se ha creado un UserForm, y se han agregado controles a un UserForm, se pueden agregar botones para realizar funciones como Aceptar y Cancelar.

En la Caja de Herramientas, seleccione el control Botón de Comando, y luego haga clic y arrastre en su formulario para crear el botón.

Insertar Botón en Formulario

 

 

Usando la Propiedad Caption, cambie el caption del botón de comando a OK, y el Acelerador a «O»

Cambiar Nombre Acelerador y Leyenda del Botón

El propósito del Acelerador es que el usuario utilice el teclado para activar el botón, en este caso Alt+O activaría el botón.

Botón Ok con Acelerador

Una vez que hemos creado el botón de comando, podemos hacer doble clic sobre el botón de comando para ir al código VBA. Haciendo doble clic sobre el botón de comando en el formulario se creará automáticamente el Evento Click para el botón ya que este es el evento más utilizado por los botones de comando.

Evento Click del Botón Ok

Ahora podemos escribir nuestro código VBA relevante dentro del procedimiento que se ha creado.

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples