¿Cómo desmarcar otra casilla de verificación cuando se marca una casilla en Excel?
En muchos escenarios prácticos, como administrar una lista de compras extensa en Excel, es posible que te encuentres en situaciones donde quieras asegurarte de que solo se pueda seleccionar una opción dentro de una categoría o grupo específico. Por ejemplo, si ciertas categorías exceden el presupuesto establecido, puede que necesites reseleccionar elementos para que solo uno permanezca marcado en cada grupo. Administrar manualmente las casillas en listas grandes puede ser ineficiente y propenso a errores, especialmente a medida que aumenta el número de categorías. Para agilizar este proceso y reducir errores, puedes configurar Excel para que al marcar una nueva casilla dentro de un grupo, se desmarque automáticamente la anteriormente seleccionada, asegurando solo una selección por categoría en todo momento. Este artículo proporciona una guía paso a paso sobre cómo lograrlo, haciendo tu flujo de trabajo más eficiente y confiable.
➤ Desmarcar otra casilla de verificación cuando se marca una nueva casilla con código VBA
Desmarcar otra casilla de verificación cuando se marca una nueva casilla con código VBA
Para ilustrar el proceso, considera una situación como se muestra en el video anterior. Tienes diez casillas de verificación etiquetadas CheckBox1 hasta CheckBox10, organizadas en tres grupos que representan diferentes categorías de compra.
✅ Estructura del grupo:
- Grupo 1: CheckBox1, CheckBox2, CheckBox3
- Grupo 2: CheckBox4, CheckBox5, CheckBox6, CheckBox7
- Grupo 3: CheckBox8, CheckBox9, CheckBox10
Dentro de cada grupo, solo una casilla de verificación debe estar seleccionada a la vez. Cuando se marca una nueva casilla, las otras en el mismo grupo se desmarcan automáticamente, similar al comportamiento de los botones de opción pero utilizando casillas de verificación.
🧩 Pasos para aplicar la solución VBA:
- Abrir el Editor de VBA: Haz clic derecho en la pestaña de la hoja donde están colocadas las casillas de verificación, luego elige Ver Código.
- Pega el siguiente código en la ventana de código de la hoja de cálculo:
- Cierra el Editor de VBA (Alt + Q) y regresa a Excel para probar las casillas de verificación.

Dim xBol As Boolean
'Updated by Extendoffice
Private Sub CheckBox1_Change(): SetCheckBoxes "CheckBox1": End Sub
Private Sub CheckBox2_Change(): SetCheckBoxes "CheckBox2": End Sub
Private Sub CheckBox3_Change(): SetCheckBoxes "CheckBox3": End Sub
Private Sub CheckBox4_Change(): SetCheckBoxes "CheckBox4": End Sub
Private Sub CheckBox5_Change(): SetCheckBoxes "CheckBox5": End Sub
Private Sub CheckBox6_Click(): SetCheckBoxes "CheckBox6": End Sub
Private Sub CheckBox7_Click(): SetCheckBoxes "CheckBox7": End Sub
Private Sub CheckBox8_Click(): SetCheckBoxes "CheckBox8": End Sub
Private Sub CheckBox9_Click(): SetCheckBoxes "CheckBox9": End Sub
Private Sub CheckBox10_Click(): SetCheckBoxes "CheckBox10": End Sub
Private Function SetCheckBoxes(mCheckBoxName As String)
Dim xAllArr, xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", _
"CheckBox4,CheckBox5,CheckBox6,CheckBox7", _
"CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function
Private Sub Worksheet_Activate(): xBol = True: End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range): xBol = True: End Sub
📌 Notas importantes:
- Asegúrate de que las propiedades de Nombre de tus casillas de verificación (no etiquetas) coincidan exactamente con los nombres en el código.
- Los agrupamientos están definidos en la línea de matriz:
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
- Este VBA solo funciona con casillas de verificación de Control ActiveX, no con Controles de Formulario.
- Las macros deben estar habilitadas para que esta automatización funcione.
📺 Demostración:
🔍 Consejos para solucionar problemas:
- Verifica que no haya nombres duplicados de casillas de verificación.
- Asegúrate de que todas las casillas de verificación sean Controles ActiveX.
- Cada procedimiento de casilla de verificación debe llamar correctamente a
SetCheckBoxes
. - Los escenarios entre hojas requieren adaptación mediante módulos de clase o control centralizado.
💡 Solución alternativa: Puedes usar Botones de Opción de Controles de Formulario para obtener un comportamiento de selección única incorporado. Sin embargo, para diseños avanzados y control lógico, VBA + Casillas de verificación es más flexible.
✨ Consejo: Herramientas como Kutools para Excel ofrecen gestión de casillas de verificación basada en GUI para facilitar la configuración sin necesidad de programación.
Demostración: Desmarca otra casilla de verificación cuando se marca una casilla en Excel
Las mejores herramientas de productividad para Office
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos