✅ 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.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
Objetivo

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.
- Haz clic derecho en la pestaña de la hoja en la que trabajarás y selecciona Ver Código.
- 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.
