Excel VBA – Agregar Botón
In this Article
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.
Haz clic en Aceptar. Aparecerá la pestaña Desarrollador en la cinta principal.
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.
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.
Desplácese hacia abajo para 1) seleccionar la macro que desea asignar al botón y, a continuación, 2) haga clic en Aceptar.
Haga clic con el botón derecho en el botón y seleccione Editar texto para cambiar el 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.
Para cambiar el formato del botón, haga clic con el botón derecho en el botón y seleccione Control de formato.
Seleccione las opciones de formato y haga clic en Aceptar.
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.
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.
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.
Modifique 1) el nombre del botón, 2) la leyenda del botón y 3) el formato del texto según sea necesario.
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.
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).
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.
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.
Agregar una Macro a una Forma de una Hoja de Cálculo
En la cinta de opciones, seleccione Insertar > Forma.
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.
Haga clic con el botón derecho en la forma y seleccione Asignar macro.
Seleccione la macro que desea asignar y haga clic en Aceptar.
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.
Usando la Propiedad Caption, cambie el caption del botón de comando a OK, y el Acelerador a «O»
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.
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.
Ahora podemos escribir nuestro código VBA relevante dentro del procedimiento que se ha creado.