Puede usar un botón de control de formulario o un botón de comando (un control ActiveX) para ejecutar una macro que realiza una acción cuando un usuario hace clic en él. Ambos botones también se conocen como botones de inserción, que se pueden configurar para automatizar la impresión de una hoja de cálculo, filtrar datos o calcular números. En general, un botón de control de formulario y un botón de comando de control ActiveX son similares en apariencia y función. Sin embargo, tienen algunas diferencias, que se explican en las secciones siguientes.
Botón (control de formulario)
|
Botón de comando (control ActiveX)
|
En las secciones siguientes, obtenga información sobre cómo agregar una macro a un botón en Excel (para Windows o Mac).
Nota: Los controles ActiveX no son compatibles con Mac.
Las macros y las herramientas de VBA pueden encontrarse en la pestaña Programador , que está oculta de forma predeterminada.
El primer paso es habilitarlo. Para obtener más información, vea el artículo: Mostrar la pestaña Programador.
Agregar un botón (control de formulario)
-
En la pestaña Programador , en el grupo Controles , haga clic en Insertar y, a continuación, en Controles de formulario, haga clic en Botón .
-
Haga clic en la ubicación de la hoja de cálculo donde desee que aparezca la esquina superior izquierda del botón. Aparece la ventana emergente Asignar macro .
-
Asigne una macro al botón y, a continuación, haga clic en Aceptar.
-
Para especificar las propiedades de control del botón, haga clic con el botón secundario en el botón y, a continuación, haga clic en Formato de control.
Agregar un botón de comando (control ActiveX)
-
En la pestaña Desarrollador , en el grupo Controles , haga clic en Insertar y, a continuación, en Controles ActiveX, haga clic en Botón de comando .
-
Haga clic en la ubicación de la hoja de cálculo en la que desea que aparezca la esquina superior izquierda del botón de comando.
-
En el grupo Controles , haga clic en Ver código. Esto inicia el Editor de Visual Basic. Asegúrese de que haga clic en la lista desplegable de la derecha. El sub procedimiento CommandButton1_Click (vea la figura siguiente) ejecuta estas dos macros cuando se hace clic en el botón: SelectC15 y HelloMessage.
-
En el subprocedido del botón de comando, siga uno de estos procedimientos:
-
Escriba el nombre de una macro existente en el libro. Puede encontrar macros haciendo clic en Macros en el grupo Código . Puede ejecutar varias macros desde un botón si escribe los nombres de las macros en líneas independientes dentro del subprocedido.
-
Si es necesario, agregue su propio código VBA.
-
-
Cierre el Editor de Visual Basic y haga clic en Modo de diseño para asegurarse de que el modo de diseño está desactivado.
-
Para ejecutar el código de VBA que ahora forma parte del botón, haga clic en el botón de comando de ActiveX que acaba de crear.
-
Para modificar el control ActiveX, asegúrese de que está en el modo de diseño. En la pestaña Programador, en el grupo Controles, active Modo Diseño.
-
Para especificar las propiedades de control del botón de comando, en la pestaña Programador , en el grupo Controles , haga clic en Propiedades . También puede hacer clic con el botón derecho en el botón de comando y, a continuación, hacer clic en Propiedades.
Nota: Antes de hacer clic en Propiedades, asegúrese de que el objeto cuyas propiedades desea examinar o modificar ya está seleccionado.
Si desea especificar |
Use esta propiedad |
---|---|
General: |
|
Si el control se carga cuando se abre el libro. (Omitido para controles ActiveX). |
AutoLoad (Excel) |
Si el control puede recibir el foco y responder a eventos generados por el usuario. |
Enabled (formulario) |
Si se puede modificar el control. |
Locked (formulario) |
El nombre del control. |
Name (formulario) |
La manera en que el control está unido a las celdas que están debajo de él (libre flotante, mover sin cambiar el tamaño, o mover y cambiar el tamaño). |
Placement (Excel) |
Si se puede imprimir el control. |
PrintObject (Excel) |
Si el control está visible u oculto. |
Visible (formulario) |
Texto: |
|
Atributos de fuente (negrita, cursiva, tamaño, tachado, subrayado y grosor). |
Bold, Italic, Size, StrikeThrough, Underline, Weight (formulario) |
Texto descriptivo sobre el control que lo identifica o lo describe. |
Caption (formulario) |
Si el contenido del control se ajusta automáticamente al final de una línea. |
WordWrap (formulario) |
Tamaño y posición: |
|
Si el tamaño del control se ajusta automáticamente para mostrar todo el contenido. |
AutoSize (formulario) |
El alto o ancho en puntos. |
Height, Width (formulario) |
La distancia entre el control y el borde izquierdo o el superior de la hoja de cálculo. |
Left, Top (formulario) |
Formato: |
|
El color de fondo. |
BackColor (formulario) |
El estilo de fondo (transparente u opaco). |
BackStyle (formulario) |
El color de primer plano. |
ForeColor (formulario) |
Si el control tiene una sombra. |
Shadow (Excel) |
Imagen: |
|
El mapa de bits que se muestra en el control. |
Picture (formulario) |
La ubicación de la imagen en relación con su título (izquierda, superior, derecha, etc.). |
PicturePosition (formulario) |
Teclado y mouse: |
|
La tecla de método abreviado para el control. |
Accelerator (formulario) |
Un icono del mouse personalizado. |
MouseIcon (formulario) |
El tipo de puntero que se muestra cuando el usuario coloca el mouse sobre un objeto determinado (estándar, flecha, cursor en I, etc.). |
MousePointer (formulario) |
Si el control toma el foco al hacer clic. |
TakeFocusOnClick (formulario) |
Las macros y las herramientas de VBA pueden encontrarse en la pestaña Programador , que está oculta de forma predeterminada, por lo que el primer paso es habilitarla
-
Vaya a Excel > Preferencias… > Barra de herramientas y cinta de opciones.
-
En la categoría Personalizar cinta, en la lista Pestañas principales, seleccione la casilla Programador y, a continuación, haga clic en Guardar.
Agregar un botón (control de formulario)
Siga estos pasos:
-
En la pestaña Desarrollador , haga clic en Botón .
-
Haga clic en la ubicación de la hoja de cálculo donde desee que aparezca la esquina superior izquierda del botón. Aparece la ventana emergente Asignar macro .
Nota: Si ya ha insertado un botón, puede hacer clic con el botón derecho en él y seleccionar Asignar macro.
-
Asigne una macro al botón y haga clic en Aceptar.
-
Para especificar las propiedades de control del botón, haga clic con el botón derecho en él y, a continuación, seleccione Formato de control....
Agregar un botón de comando (control de Visual Basic)
-
En la pestaña Desarrollador , haga clic en Botón .
-
Haga clic en la ubicación de la hoja de cálculo donde desee que aparezca la esquina superior izquierda del botón de comando.
Nota: Si ya ha insertado un botón, puede hacer clic con el botón derecho en él y seleccionar Asignar macro.
-
En el cuadro de diálogo Asignar macro , seleccione Nuevo, lo que abrirá el Editor de Visual Basic (VBE) en un panel con el siguiente código:
Sub ButtonX_Click() End Sub
-
En el subprocedido del botón de comando, entre las líneas Sub y End Sub , siga uno de estos procedimientos:
-
Escriba el nombre de una macro existente en el libro. Puede ejecutar varias macros desde un botón escribiendo los nombres de las macros en líneas separadas dentro del procedimiento sub
-
Agregue su propio código VBA.
-
-
Haga clic en Modo de diseño para asegurarse de que el modo de diseño está desactivado y, a continuación, cierre la ventana del Editor de Visual Basic.
-
Para editar el botón, haga clic con el botón derecho en él y elija Visual Basic.
-
Para especificar las propiedades de control del botón, haga clic con el botón derecho en él y, a continuación, seleccione Formato de control....
¿Necesita más ayuda?
Siempre puede preguntar a un experto en Excel Tech Community u obtener soporte técnico en Comunidades.