Salt la conținutul principal

Cum să permiteți selectarea unei singure casete dintr-un grup în Excel?

Autor: Siluvia Ultima modificare: 2024-10-31

După cum se arată în captura de ecran de mai jos, pentru un grup de casete de selectare enumerate în rândul 2, atunci când selectați sau bifați o casetă de selectare, toate celelalte sunt dezactivate automat. Cum se realizează? Codul VBA din acest articol vă poate ajuta.

O captură de ecran a unui grup de casete de selectare în Excel în care numai una poate fi selectată la un moment dat

Bifați o singură casetă de selectare pentru a fi selectată cu codul VBA


Bifați o singură casetă de selectare pentru a fi selectată cu codul VBA

Puteți rula codurile VBA de mai jos pentru a selecta o singură casetă de selectare dintr-un grup de casete de selectare de fiecare dată. Vă rugăm să faceți următoarele.

1. În primul rând, introduceți casetele de selectare după cum aveți nevoie. Aici, ar trebui să introduceți fișierul Casete de selectare ActiveX Control după cum se arată în următoarea captură de ecran:

O captură de ecran care arată inserarea casetelor de selectare ActiveX Control în Excel

2. Apoi apăsați Alt + Tastele F11 simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

3. În deschidere Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Modulul clasei.

O captură de ecran care arată opțiunea de a insera un Modul de clasă în Excel VBA

4. Schimbați numele clasei în ClsChk în (Nume) caseta din Proprietăţi , apoi copiați și lipiți codul VBA de mai jos în cel corespunzător Cod fereastră. Vedeți captura de ecran:

O captură de ecran a panoului Proprietăți în VBA pentru redenumirea clasei în ClsChk

Cod VBA 1: bifați o singură casetă de selectare de fiecare dată

Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub

Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then

    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Value = False
        xObj.Object.Enabled = False
      End If
    Next
Else
    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Enabled = True
      End If
    Next
End If
End Sub

5. Acum faceți clic pe Insera > Module, apoi copiați și lipiți codul VBA de mai jos în Module fereastră.

Cod VBA 2: bifați o singură casetă de selectare de fiecare dată

Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
   Set xSht = ActiveSheet
   Set xCollection = Nothing
    For Each xObj In xSht.OLEObjects
        If xObj.Name Like "CheckBox**" Then
            Set xChk = New ClsChk
            Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
            xCollection.Add xChk
        End If
    Next
    Set xChk = Nothing
End Sub

6. apasă pe F5 tasta pentru a rula codul.

De acum înainte, când bifați oricare dintre casetele de selectare din foaia de lucru, toate celelalte casete de selectare sunt dezactivate automat și o puteți debifa pentru a activa din nou toate casetele de selectare.

O captură de ecran a casetelor de selectare în Excel în care numai una este activată la un moment dat după executarea codului VBA

notițe: Dacă se adaugă o nouă casetă de selectare la grupul de casete de selectare, rulați din nou codul VBA pentru a activa din nou toate casetele de selectare. Ștergerea casetei de selectare din grupul de casete de selectare trebuie să reexecute și codul.


Articole pe aceeași temă:

Cele mai bune instrumente de productivitate de birou

🤖 Kutools Ajutor AI: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  invoca Kutools funcţii...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele
Utilizare Kutools în limba preferată – este compatibilă cu engleză, spaniolă, germană, franceză, chineză și peste 40 de alte limbi!

Îmbunătățiți-vă abilitățile Excel cu Kutools for Excelși experimentați eficiența ca niciodată înainte. Kutools for Excel Oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Office Tab Aduce interfața cu file la 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!