Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo desmarcar otra casilla de verificación cuando se marca una casilla en Excel?

Author Siluvia Last modified

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

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:

  1. 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.
  2. View Code menu
  3. Pega el siguiente código en la ventana de código de la hoja de cálculo:
  4. 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
  5. Cierra el Editor de VBA (Alt + Q) y regresa a Excel para probar las casillas de verificación.

📌 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

 
Kutools para Excel: ¡Más de 300 herramientas prácticas a su alcance! ¡Disfrute de funciones de IA permanentemente gratis! ¡Descárguelo ahora!

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

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.

Excel Word Outlook Tabs PowerPoint
  • 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