Skip to main content

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

Author: Siluvia Last Modified: 2025-06-04

Como se muestra en el video a continuación, supongamos que hay una lista de compras que necesita finalizar. Al revisar la lista, encuentra que los elementos marcados en algunas categorías exceden el presupuesto y deben ser reseleccionados. Dado que la lista es demasiado larga, ahora necesita una manera más eficiente de desmarcar automáticamente la casilla originalmente marcada cuando se marca una nueva casilla en una categoría. Este tutorial demuestra paso a paso el método para ayudarlo a completar esta tarea.

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

Como se muestra en la demostración anterior, diez casillas de verificación llamadas Checkbox1, Checkbox2, Checkbox3, ..., Checkbox10 están divididas en 3 grupos y ubicadas en diferentes categorías en la tabla.

En este ejemplo, Checkbox1, 2 y 3 están en un grupo, Checkbox4, 5, 6 y 7 están en otro grupo, y Checkbox8, 9 y 10 están en el mismo grupo. En cada grupo, solo se permite marcar una casilla a la vez. Cuando se marca una casilla, otra casilla se desmarca automáticamente.

Ahora veamos cómo aplicar el siguiente código VBA para resolver este problema.

1. Haga clic derecho en la pestaña de la hoja y haga clic en Ver Código en el menú contextual.

A screenshot showing the option View Code in the context menu of a sheet tab in Excel

2. En la ventana abierta de Microsoft Visual Basic para Aplicaciones, pegue el siguiente código VBA en la ventana Hoja (Código).

A screenshot of the VBA code editor in Excel with example VBA code for managing checkboxes

Código VBA: Desmarcar otra casilla de verificación cuando se marca una nueva casilla

Dim xBol As Boolean
'Updated by Extendoffice 20220816
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 x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
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:

1) En el código, Checkbox1, Checkbox2, ..., Checkbox10 son los nombres de las casillas de verificación;
2) En la siguiente línea, las casillas de verificación encerradas entre comillas pertenecen al mismo grupo, y cada casilla está separada por una coma. Para agregar más grupos de casillas, encierre las casillas en nuevas comillas.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Las casillas de verificación son controles ActiveX.

3. Presione las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.

Luego, cuando marque una nueva casilla en un grupo, la casilla originalmente marcada se desmarcará automáticamente como se muestra en el gif a continuación.


Demostración: Desmarcar 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 marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea 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...)...
Top15 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 para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en 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 lleva la interfaz de pestañas a 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 nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!