Vai al contenuto principale

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:

1) Nel codice, Casella di controllo1, Casella di controllo2, ..., Casella di controllo10 sono il nome delle caselle di controllo;
2) Nella riga successiva, le caselle racchiuse tra virgolette appartengono allo stesso gruppo e ciascuna casella è separata da una virgola. Per aggiungere più gruppi di caselle di controllo, racchiudere le caselle di controllo tra nuove virgolette.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Le caselle di controllo sono controllo ActiveX caselle di controllo.

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. Prova gratuita senza limitazioni per 30 giorni. Scarica ora!

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo 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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations