Ejecutar macro desde un Botón, un Control o una Forma en Excel vba - EXCELeINFO
Excel vba / Forms / Formularios / Video tutoriales Excel
He generado una macro la cual deseamos poder ejecutarla desde un Botón (control ActiveX), desde un Botón de formulario (para hojas de cálculo) o incluso desde una Forma, ya sea imagen, cuadrado, círculo, etc. La macro será la misma, pero la manera en la que podremos asignarla a cada Control será diferente.
Estando en Excel presionamos la combinación de teclas [Alt] + [F11] para abrir el IDE de Visual Basic para aplicaciones (vba). En la Figura 1 vemos el proceso de abrir el IDE y escribir la macro.
Figura 1. Abrir IDE de vba de Excel.
Código de la macro
' Author    : MVP Excel, Sergio Alejandro Campos
' Date      : 17/12/2015
' Website   : https://www.exceleinfo.com
' Youtube   : https://www.youtube.com/user/sergioacamposh
'Ejecutar macro en la Hola activa
Sub Prueba1()
ActiveCell.Offset(i, 0).Value = DateValue("01/" &amp; i &amp; "/2015")
ActiveCell.Offset(i, 1).Value = DateValue("01/" &amp; i &amp; "/2015")
Range("A2:A13").NumberFormat = ("m")
Range("B2:B13").NumberFormat = ("mmmm")
'Ejecutar macro desde otra hoja
Sub Prueba2()
Sheets("Hoja2").Activate
Asignar macro a Botón (control ActiveX)
Dentro de la pestaña Desarrollador elegimos el botón Insertar > Controles ActiveX. Al elegirlo lo dibujamos en pantalla y después le damos doble Clic. Veremos que se abre el IDE de vba donde le podremos escribir una macro al evento Click del Botón. En el código que escribiremos mandamos llamar a la macro que creamos en la Figura 1 llamada Prueba1.
Figura 2. Llamar macro de Excel desde otra macro.
CODIGO EVENTO CLICK
Asignar macro a Botón (Control de Formulario)
A diferencia de los Controles ActiveX, los Controles de Formulario nos pueden server para llamar a otra macro de Excel, y con la salvedad de que no pueden ser insertados en Formularios ni manejar Eventos.
Más información en: Introducción a formularios, controles de formulario y controles ActiveX en una hoja de cálculo.
Para esto igual nos vamos a la pestaña Desarrollador y elegimos Insertar > Controles de Formulario. Al darle Clic y dibujar el Control en la hoja lo primero que nos pedirá es asignarle una Macro. Le asignamos Prueba1 y damos Aceptar.
Figura 3. Asignar macro a Control de formulario.
Asignar macro a Forma (círculos, cuadrados, imágenes)
Por último veremos cómo asignar una macro a una forma o imagen. Nos dirigimos a la pestaña Insertar > Ilustraciones > Formas. Elegimos la forma de nuestra preferencia y la dibujamos en la hoja de cálculo. Después de insertarla en la hoja le damos clic derecho y elegimos Asignar macro. Elegimos la macro Prueba1.
Figura 4. Asignar macro a forma.
Ver video en YouTube: https://www.youtube.com/watch?v=wE5rrtpK7X4
:: Descargar Asignar macros a Botones.rar
Tags: Controles ActiveX en ExcelControles de formularioExcel vbaEXCELeINFOFormas en Excel
Next story Lo más leído en EXCELeINFO.com en 2015 y una breve historia del Blog
Previous story Sé un experto en Excel, participa y gana una tarjeta de regalo de la tienda de Windows
Add-in para manipulación de texto en Excel