Asignar una macro a un formulario o botón de control

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 el usuario hace clic en él. Ambos botones también se conocen como botones de comando, 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 tienen un aspecto y una función similares. Sin embargo, tienen algunas diferencias, que se explican en las secciones siguientes.

Botón (control de formulario)

Ejemplo de un control de botón de la barra de herramientas Formularios

Botón de comando (control ActiveX)

Ejemplo de un control de botón de comando ActiveX

En las secciones siguientes, obtenga información sobre cómo agregar una macro a un botón de Excel (para Windows o para Mac).

Nota: Los controles ActiveX no se admiten en el equipo Mac.

Las macros y las herramientas de VBA se pueden encontrar en la ficha 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.

Pestaña Programador en la cinta

Agregar un botón (control de formulario)

  1. En la pestaña programador , en el Grupo controles , haga clic en Insertary, a continuación, en controles de formulario, haga clic en Imagen del botón de botón .

  2. Haga clic en la ubicación de la hoja de cálculo en la que desee que aparezca la esquina superior izquierda del botón. Aparece la ventana asignar macro emergente.

  3. Asigne una macro al botón y, a continuación, haga clic en Aceptar.

  4. Para especificar las propiedades de control del botón, haga clic con el botón secundario en él y, a continuación, haga clic en formato de control.

Agregar un botón de comando (control ActiveX)

  1. En la pestaña programador , en el Grupo controles , haga clic en Insertary, a continuación, en controles ActiveX, haga clic en botón de comando Imagen del botón .

  2. 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.

  3. En el grupo controles , haga clic en Ver código. Se iniciará el editor de Visual Basic. Asegúrese de que la casilla de hacer clic está seleccionada en la lista desplegable de la derecha. El procedimiento Sub CommandButton1_Click (vea la figura siguiente) ejecuta estas dos macros cuando se hace clic en el botón: SelectC15 y HelloMessage.

    Subprocedimiento en el Editor de Visual Basic

  4. En el subprocedimiento del botón de comando, realice una de las siguientes acciones:

    • Escriba el nombre de una macro existente en el libro. Puede buscar macros haciendo clic en macros en el grupo código . Para ejecutar varias macros desde un botón, escriba los nombres de las macros en distintas líneas dentro del subprocedimiento.

    • Según sea necesario, agregue su propio código de VBA.

  5. Cierre el editor de Visual Basic y haga clic en modo de diseño Imagen del botón para asegurarse de que el modo de diseño está deshabilitado.

  6. Para ejecutar el código de VBA que forma parte del botón, haga clic en el botón de comando ActiveX que acaba de crear.

  7. 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.

  8. Para especificar las propiedades de control del botón de comando, en la pestaña programador , en el grupo controles , haga clic en propiedades Imagen del botón . También puede hacer clic con el botón secundario 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.


    Aparece el cuadro propiedades . Para obtener información detallada sobre cada propiedad, seleccione la propiedad y después presione F1 para mostrar un tema de la Ayuda de Visual Basic. También puede escribir el nombre de la propiedad en el cuadro Buscar de la Ayuda de Visual Basic. En la tabla siguiente se resumen las propiedades que están disponibles.

Si desea especificar

Use esta propiedad

General:

Si el control se carga al abrir el libro. (Se omite en los 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 sitúa el mouse sobre un objeto determinado (estándar, flecha, barra de I, etc.).

MousePointer (formulario)

Si el control recibe el foco cuando se hace clic en él.

TakeFocusOnClick (formulario)


Las macros y las herramientas de VBA se pueden encontrar en la ficha programador , que está oculta de forma predeterminada, por lo que el primer paso es habilitarla

  1. Vaya a Excel > Preferencias… > Barra de herramientas y cinta de opciones.

  2. En la categoría Personalizar cinta, en la lista Pestañas principales, seleccione la casilla Programador y, a continuación, haga clic en Guardar.

    Seleccione la casilla junto a desarrollador para agregarla a la cinta

Agregar un botón (control de formulario)

Siga estos pasos:

  1. En la pestaña programador , haga clic en el botón Imagen del botón .

  2. Haga clic en la ubicación de la hoja de cálculo en la que desee que aparezca la esquina superior izquierda del botón. Aparece la ventana asignar macro emergente.

    Nota: Si ya ha insertado un botón, puede hacer clic con el botón derecho en él y seleccionar asignar macro.

  3. Asigne una macro al botón y haga clic en Aceptar.

  4. Para especificar las propiedades de control del botón, haga clic con el botón derecho en ella y, después, seleccione formato del control...
     

Agregar un botón de comando (control de Visual Basic)

  1. En la pestaña programador , haga clic en el botón Imagen del botón .

  2. Haga clic en la ubicación de la hoja de cálculo en la que 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.

  3. En el cuadro de diálogo asignar macro , seleccione nuevo, que abrirá el Editor de Visual Basic (VBE) en un panel con el siguiente código:

      Sub ButtonX_Click() 
    
      End Sub
  4. En el subprocedimiento del botón de comando, entre las líneas sub y End Sub , realice una de las siguientes acciones:

    • Escriba el nombre de una macro existente en el libro. Puede ejecutar varias macros desde un botón escribiendo los nombres de macro en líneas separadas dentro del procedimiento Sub

    • Agregue su propio código de VBA.

  5. Haga clic en modo diseño Imagen del botón para asegurarse de que el modo de diseño está deshabilitado y, a continuación, cierre la ventana Editor de Visual Basic.

  6. Para editar el botón, haga clic con el botón derecho en él y elija Visual Basic.

  7. Para especificar las propiedades de control del botón, haga clic con el botón derecho en ella y, después, seleccione formato del control...

¿Necesita más ayuda?

Siempre puede preguntar a un experto en Excel Tech Community, obtener soporte técnico en la Comunidad de respuestas o sugerir una característica nueva o mejora en el UserVoice de Excel.

Vea también

Nota:  Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.

¿Necesita más ayuda?

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×