Note: The other languages of the website are Google-translated. Back to English

¿Cómo desmarcar otra casilla de verificación cuando una casilla de verificación está marcada en Excel?

Como se muestra en el gif a continuación, suponga que hay una lista de compras que debe finalizar. Mientras revisa la lista, encuentra que los elementos marcados en algunas categorías están por encima del presupuesto y necesita volver a seleccionarlos. Dado que la lista es demasiado larga, ahora necesita una forma más eficiente de desmarcar automáticamente la casilla de verificación marcada original cuando se marca una nueva casilla de verificación en una categoría. Este tutorial demuestra el método paso a paso para ayudarlo a hacerlo.

Desmarque otra casilla de verificación cuando se marque una nueva casilla de verificación con código VBA


Desmarque otra casilla de verificación cuando se marque una nueva casilla de verificación con código VBA

Como se muestra en la demostración anterior, diez casillas de verificación denominadas Casilla de verificación 1, Casilla de verificación 2, Casilla de verificación 3, ..., Casilla de verificación 10 se dividen en 3 grupos y se ubican en diferentes categorías en la tabla.

En este ejemplo, Checkbox1, 2, 3 están en un grupo, Checkbox4, 5, 6, 7 están en un grupo y Checkbox8, 9,10 están en el mismo grupo. En cada grupo, solo se permite marcar una casilla de verificación a la vez. Cuando se marca una casilla de verificación, otra casilla de verificación 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 desde el menú contextual.

2. En el abierto Microsoft Visual Basic para aplicaciones ventana, pegue el siguiente código VBA en el Hoja (Código) ventana.

Código de VBA: desmarque otra casilla de verificación cuando se marque una nueva casilla de verificación

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, Casilla1, Casilla2, ... Casilla de verificación 10 son el nombre de las casillas de verificación;
2) En la línea siguiente, las casillas de verificación encerradas entre comillas dobles pertenecen al mismo grupo, y cada casilla de verificación está separada por una coma. Para agregar más grupos de casillas de verificación, escriba las casillas de verificación entre comillas dobles nuevas.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Las casillas de verificación son ActiveX control casillas de verificación

3. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.

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


Demostración: desmarque otra casilla de verificación cuando una casilla de verificación esté marcada en Excel

  Kutools for Excel incluye más de 300 potentes funciones para Microsoft Excel. Gratis para probar sin limitación en 30 día. Descarga ahora!


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

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

  • Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (0)
Aún no hay calificaciones. ¡Sé el primero en calificar!
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL