KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo desmarcar automáticamente otra casilla de verificación al marcar una en Excel?

AutorSiluvia Fecha de modificación

En muchos escenarios prácticos, como gestionar una extensa lista de compras en Excel, es posible que necesite asegurar que solo se pueda seleccionar una opción dentro de cada categoría o grupo específico. Por ejemplo, si ciertas categorías superan el presupuesto establecido, podría tener que ajustar su selección para que únicamente un artículo permanezca marcado por grupo. Gestionar manualmente las casillas de verificación en listas largas resulta ineficiente y propenso a errores, especialmente a medida que crece el número de categorías. Para agilizar este proceso y minimizar equivocaciones, puede configurar Excel de modo que, al marcar una nueva casilla dentro de un grupo, se desmarque automáticamente la anterior, garantizando así una única selección por categoría en todo momento. Este artículo le ofrece una guía paso a paso para lograrlo, haciendo su flujo de trabajo más eficiente y fiable.


Desmarcar otra casilla de verificación al marcar una nueva mediante código VBA

Para ilustrar el proceso, imagine una situación como la del vídeo anterior: dispone de diez casillas de verificación denominadas CheckBox1 hasta CheckBox10, organizadas en tres grupos que representan distintas categorías de compra.

✅ Estructura de grupos:

  • Grupo 1: CheckBox1, CheckBox2, CheckBox3
  • Grupo 2: CheckBox4, CheckBox5, CheckBox6, CheckBox7
  • Grupo 3: CheckBox8, CheckBox9, CheckBox10

Dentro de cada grupo, solo debe estar seleccionada una casilla de verificación. Al marcar una nueva, las demás del mismo grupo se desmarcan automáticamente, de forma similar al comportamiento de Botón de Opción, pero utilizando casillas de verificación.

🧩 Pasos para aplicar la solución VBA:

  1. Abra el Editor de VBA: Haga clic con el botón derecho en la pestaña de la hoja donde están ubicadas las casillas de verificación y seleccione Ver código.
  2. Menú Ver código
  3. Pegue el siguiente códigoen 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. Cierre el Editor de VBA (Alt + Q) y vuelva a Excel para probar las casillas de verificación.

📌 Notas importantes:

  • Asegúrese de que las propiedades Nombre de su casilla de verificación (no las etiquetas) coincidan exactamente con los nombres del código.
  • Los agrupamientos se definen en la línea del array:
    xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
  • Esta macro VBA solo funciona con casillas de verificación de controles ActiveX, no con controles de formulario.
  • Debe habilitar las macros para que esta automatización funcione correctamente.

📺 Demostración:

🔍 Consejos para solucionar problemas:

  • Asegúrese de que no haya nombres duplicados en las casillas de verificación.
  • Asegúrese 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 un control centralizado.

💡 Solución alternativa: Puede utilizar botones de opción de controles de formulario para lograr un comportamiento integrado de selección única. No obstante, si busca diseños más avanzados y un mayor control lógico, la combinación de VBA con casillas de verificación le ofrece una flexibilidad superior.

✨ Consejo: Herramientas como Kutools para Excel ofrecen gestión de casillas de verificación mediante una interfaz gráfica, lo que facilita su configuración sin necesidad de programar.


Demostración: Desmarcar otra casilla de verificación al marcar una en Excel

 
Kutools para Excel: ¡Más de 300 herramientas útiles al alcance de su mano! Disfrute de funciones potenciadas por inteligencia artificial para trabajar de forma más inteligente y rápida.¡Descárguelo ahora!

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose 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 Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir 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   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos