Come deselezionare un'altra casella di controllo quando una casella di controllo è selezionata in Excel?
Come mostrato nella gif qui sotto, supponiamo che ci sia un elenco di acquisti che deve essere finalizzato da te. Durante il controllo dell'elenco, scopri che gli elementi selezionati in alcune categorie superano il budget e devono essere riselezionati. Poiché l'elenco è troppo lungo, ora è necessario un modo più efficiente per deselezionare automaticamente la casella di controllo originale selezionata quando viene selezionata una nuova casella di controllo in una categoria. Questo tutorial mostra il metodo passo dopo passo per aiutarti a farlo.
Deseleziona un'altra casella di controllo quando viene selezionata una nuova casella di controllo con il codice VBA
Deseleziona un'altra casella di controllo quando viene selezionata una nuova casella di controllo con il codice VBA
Come mostrato nella demo sopra, dieci caselle di controllo denominate Casella di controllo1, Casella di controllo2, Casella di controllo3, ..., Casella di controllo10 sono divisi in 3 gruppi e collocati in diverse categorie nella tabella.
In questo esempio, Checkbox1, 2, 3 sono in un gruppo, Checkbox4, 5, 6, 7 sono in un gruppo e Checkbox8, 9,10 sono nello stesso gruppo. In ogni gruppo è possibile selezionare solo una casella di controllo alla volta. Quando una casella di controllo è selezionata, un'altra casella di controllo viene deselezionata automaticamente.
Ora vediamo come applicare il seguente codice VBA per risolvere questo problema.
1. Fare clic con il pulsante destro del mouse sulla scheda del foglio e fare clic Visualizza codice dal menu di scelta rapida.
2. In aperto Microsoft Visual Basic, Applications Edition window , incolla il seguente codice VBA in Foglio (Codice) finestra.
Codice VBA: deseleziona un'altra casella di controllo quando viene selezionata una nuova casella di controllo
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
Note:
3. premi il altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.
Quindi, quando selezioni una nuova casella di controllo in un gruppo, quella selezionata originale verrà deselezionata automaticamente come mostrato nella gif di seguito.
Demo: deseleziona un'altra casella di controllo quando una casella di controllo è selezionata in Excel
Kutools for Excel include oltre 300 potenti funzionalità per Microsoft Excel. Liberi di provare senza limitazioni 30 giorni; Scarica ora!
I migliori strumenti per la produttività in ufficio
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
- Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
- Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
- Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
- Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
- Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
- Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
- Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
- Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
