Cómo Ejecutar una Macro al Marcar un CheckBox en Excel

Una de las funcionalidades más recientes y útiles que Microsoft ha introducido en Excel son los checkboxes o casillas. Estas herramientas abren un mundo de posibilidades para automatizar tareas y personalizar el comportamiento de tus hojas de cálculo. En este tutorial, aprenderás a ejecutar macros al marcar un checkbox, simulando la funcionalidad de botones pero con mayor flexibilidad.

✅ Cómo Ejecutar una Macro al Marcar un CheckBox (casilla) en Excel (Fácil)

✅ Cómo Ejecutar una Macro al Marcar un CheckBox (casilla) en Excel (Fácil)

Suscríbete para más tutoriales

Descarga el archivo para practicar

Escribe tu correo electrónico para recibir gratis el archivo para practicar.

Objetivo

Figura 1. Checkbox (casillas) en Excel.

El objetivo es aprender a lanzar una macro específica cuando marcas un checkbox en Excel. Esto te permitirá automatizar tareas según la interacción del usuario con las casillas.

Pasos a seguir

1. Insertar un CheckBox en Excel

  • Ve a la ficha Insertar en la cinta de opciones.
  • Selecciona el control de formulario CheckBox (casilla) y colócalo en la celda deseada.

2. Identificar cuando se marca un CheckBox

Cuando marcas un checkbox en Excel, la celda vinculada adopta el valor TRUE (verdadero) y, al desmarcarlo, el valor FALSE (falso). Este comportamiento nos permite detectar cambios y condicionar acciones basadas en el estado de la casilla.

3. Trabajar con eventos en Excel

Para detectar cambios en las hojas de Excel, utilizamos los eventos de la hoja. En este caso, nos centraremos en el evento Change, que permite detectar cambios en el contenido de las celdas.

  1. Haz clic derecho en la pestaña de la hoja en la que trabajarás y selecciona Ver Código.
  2. En el editor de VBA (IDE), selecciona Worksheet en el desplegable superior izquierdo y luego elige el evento Change.

4. Configurar el evento Change

El evento Change se activa cuando el contenido de una celda cambia. Para enfocarlo solo en un rango específico de celdas (por ejemplo, B5:B9), usamos la función Intersect:

If Not Intersect(Target, Range("B5:B9")) Is Nothing Then
    ' Código a ejecutar
End If
  • Target: Representa la celda que fue modificada.
  • Range(“B5:B9“): Define el rango de celdas que queremos monitorear.

5. Validar si el CheckBox está marcado

Para asegurarte de que la acción solo se ejecuta cuando el checkbox está marcado, valida si el valor de la celda es TRUE:

If Target.Value = True Then
    ' Código a ejecutar
End If

6. Lanzar macros según el CheckBox marcado

Para ejecutar una macro específica según el checkbox marcado, utilizamos la estructura Select Case:

Private Sub Worksheet_Change(ByVal Target As Range)
' Verifica si el cambio ocurrió en el rango B5:B9

If Not Intersect(Target, Range("B5:B9")) Is Nothing Then

    If Target.Value = True Then
    
        Select Case Target
            Case Target.Address = "$B$5"
                MsgBox "Actividad 1"
            Case Target.Address = "$B$6"
                MsgBox "Actividad 2"
            Case Target.Address = "$B$7"
                MsgBox "Actividad 3"
            Case Target.Address = "$B$8"
                MsgBox "Actividad 4"
            Case Target.Address = "$B$9"
                MsgBox "Actividad 5"
        End Select
    
    End If

End If

End Sub
  • Target.Address: Identifica la celda marcada.
  • Call MacroX: Llama a la macro correspondiente.

7. Probar el código

Después de configurar el código, desmarca todas las casillas y prueba marcarlas una por una para verificar que se ejecuta la macro correspondiente. Recuerda que el código está diseñado para reaccionar solo cuando el checkbox está marcado, no cuando se desmarca.

Certifícate en Excel

Tienes experiencia en Excel y quieres mejorar tus oportunidades laborales? Obtén la Certificación Excel Expert avalada por Microsoft.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top