Excel VBA: Cómo Marcar Casillas de Verificación con un Clic (Truco 94)

🔥 Marcar Casillas de Verificación con un Clic en Excel usando VBA

En este tutorial de nuestra serie 101 Trucos de Excel, exploramos una funcionalidad avanzada: cómo marcar y desmarcar casillas de verificación con un solo clic en Excel, utilizando VBA.

Este método te permitirá automatizar listas de tareas, formularios o cualquier tipo de checklist, mejorando la eficiencia y personalización de tus hojas de cálculo.

📌 ¿Por qué usar VBA para marcar casillas en Excel?

🔹 Evita insertar controles manualmente: No necesitas agregar casillas de verificación una por una.
🔹 Automatización total: Se puede aplicar a rangos específicos sin intervención manual.
🔹 Personalización completa: Puedes definir qué celdas activan la casilla y cambiar su apariencia.
🔹 Mayor rapidez: Basta con hacer un clic en la celda para marcar o desmarcar la casilla.


🛠 Paso a Paso: Cómo Marcar Casillas de Verificación en Excel con VBA

1️⃣ Habilitar la Pestaña de Desarrollador en Excel

Antes de escribir el código, debemos asegurarnos de que la pestaña «Programador» (Developer) está habilitada.

🔹 Paso 1: Abre Excel y dirígete a Archivo > Opciones.
🔹 Paso 2: Selecciona Personalizar cinta de opciones.
🔹 Paso 3: Activa la casilla Programador y haz clic en Aceptar.


2️⃣ Modificar el Tipo de Letra a Wingdings

Para que Excel interprete los símbolos de casillas de verificación, debemos modificar la fuente de las celdas:

🔹 Selecciona las celdas donde quieres aplicar la casilla de verificación.
🔹 Cambia la fuente a «Wingdings» desde la barra de herramientas.

Esto permitirá que los caracteres especiales como (check) y (casilla vacía) se muestren correctamente.


3️⃣ Abrir el Editor de Visual Basic (VBA)

🔹 Haz clic derecho en la hoja activa.
🔹 Selecciona Ver Código.
🔹 Se abrirá el Editor de Visual Basic (VBE), donde ingresaremos el código.


4️⃣ Insertar el Código VBA para Activar las Casillas con un Clic

Copia y pega el siguiente código en la ventana del editor VBA:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘ Permite marcar/desmarcar casillas con un clic en un rango específico
If Target.Cells.Count > 1 Then Exit Sub ' Evita selección múltiple
If Not Intersect(Target, Me.Range("B7:B100")) Is Nothing Then

Application.EnableEvents = False
If Target.Value = «✓» Then
Target.Value = ""
Else
Target.Value = "✓"
Target.Font.Name = «Wingdings»
End If
Application.EnableEvents = True
End If
End Sub

🔹 Explicación del Código:
✔ Permite marcar y desmarcar una casilla con un solo clic en el rango B7:B100.
✔ Si la celda está vacía, coloca una (check) cuando se hace clic.
✔ Si ya tiene una marca, la borra al hacer clic nuevamente.
✔ Evita errores cuando se seleccionan múltiples celdas.

📌 ¡IMPORTANTE!
Recuerda cambiar el rango («B7:B100») a las celdas donde quieres aplicar la función.


5️⃣ Guardar el Archivo como Libro Habilitado para Macros

Para que el código VBA funcione correctamente, el archivo debe guardarse con el formato adecuado:

🔹 Haz clic en «Archivo» > «Guardar como».
🔹 Selecciona «Libro de Excel habilitado para macros (*.xlsm)».
🔹 Guarda y cierra el archivo antes de volver a abrirlo.

Ahora, cada vez que hagas clic en una celda dentro del rango establecido, aparecerá o desaparecerá una casilla de verificación automáticamente.


💡 Aplicaciones Prácticas de este Truco en Excel

Listas de tareas interactivas (To-Do Lists).
Seguimiento de proyectos y tareas pendientes.
Registro de asistencia o cumplimiento de actividades.
Checklists dinámicos para formularios empresariales.


Preguntas Frecuentes (FAQ)

🔹 ¿Puedo usar este código en cualquier versión de Excel?

Sí, pero necesitas una versión que admita VBA y macros (Excel 2010 o superior).

🔹 ¿Se puede aplicar este truco a múltiples rangos?

Sí, solo debes modificar la línea:

If Not Intersect(Target, Me.Range("B7:B100, D7:D100")) Is Nothing Then

Para incluir otros rangos.

🔹 ¿Qué pasa si guardo el archivo en formato .xlsx?

El código VBA se eliminará y la función dejará de funcionar. Guarda siempre como .xlsm.

🔹 ¿Puedo personalizar el símbolo de la casilla?

Sí, puedes cambiar la línea:

Target.Value = "✓"

Por otro símbolo como «☑» o «■» si lo deseas.


🔗 Sigue Aprendiendo Más Trucos de Excel

📌 Visita nuestro blog: fernandojuca.com
📌 Suscríbete a nuestro canal de YouTube: youtube.com/fernandojucamaldonado

🔹 Este truco VBA de Excel te ahorrará tiempo y esfuerzo. ¿Ya lo probaste? Déjanos tu comentario y cuéntanos cómo lo aplicaste en tu trabajo o proyectos. 🚀

Previous Post
Next Post