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

Cum să debifați o altă casetă de selectare când o casetă de selectare este bifată în Excel?

După cum se arată în gif-ul de mai jos, să presupunem că există o listă de achiziții care trebuie finalizată de dvs. În timp ce verificați lista, veți constata că articolele bifate din unele categorii sunt peste buget și trebuie să fie reselectate. Deoarece lista este prea lungă, acum aveți nevoie de o modalitate mai eficientă de a debifa automat caseta de selectare bifată inițială atunci când o nouă casetă de selectare este bifată într-o categorie. Acest tutorial demonstrează metoda pas cu pas pentru a vă ajuta să o finalizați.

Debifați o altă casetă de selectare când o nouă casetă este bifată cu codul VBA


Debifați o altă casetă de selectare când o nouă casetă este bifată cu codul VBA

După cum se arată în demonstrația de mai sus, zece casete de selectare numite Caseta de selectare 1, Caseta de selectare 2, Caseta de selectare 3, ..., Caseta de selectare 10 sunt împărțite în 3 grupe și situate în diferite categorii în tabel.

În acest exemplu, Checkbox1, 2, 3 sunt într-un grup, Checkbox4, 5, 6, 7 sunt într-un grup și Checkbox8, 9,10 sunt în același grup. În fiecare grup, o singură casetă de selectare poate fi bifată la un moment dat. Când o casetă de selectare este bifată, o altă casetă de selectare este debifată automat.

Acum să vedem cum să aplicăm următorul cod VBA pentru a rezolva această problemă.

1. Faceți clic dreapta pe fila foii și faceți clic Afișați codul din meniul contextual.

2. În deschise Microsoft Visual Basic pentru aplicații fereastră , inserați următorul cod VBA în Foaie (Cod) fereastră.

Cod VBA: debifați o altă casetă de selectare când este bifată o nouă casetă

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

notițe:

1) În cod, Checkbox1, Checkbox2, ..., Caseta de selectare 10 sunt numele casetelor de selectare;
2) În rândul următor, casetele de selectare cuprinse între ghilimele duble aparțin aceluiași grup, iar fiecare casetă de selectare este separată prin virgulă. Pentru a adăuga mai multe grupuri de casete de selectare, includeți casetele de selectare între ghilimele duble noi.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Casetele de selectare sunt Control ActiveX casete de selectare.

3. apasă pe Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră.

Apoi, când bifați o nouă casetă de selectare într-un grup, cea originală bifată va fi debifată automat, așa cum se arată în gif-ul de mai jos.


Demo: debifați o altă casetă de selectare când o casetă de selectare este bifată în Excel

  Kutools pentru Excel include peste 300 de funcții puternice pentru Microsoft Excel. Liber să încercați fără limitări 30 zile. Descarcă acum!


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (0)
Încă nu există evaluări. Fii primul care evaluează!
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL