Cum se face ca o singură casetă de selectare să fie selectată într-un grup de casete de selectare din Excel?
După cum se arată în imaginea de mai jos, pentru un grup de casete de selectare listate în rândul 2, când selectați sau bifați doar o singură casetă de selectare, celelalte casete de selectare vor fi dezactivate. Cum se realizează? Codul VBA din acest articol vă poate ajuta.
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:
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.
4. Schimbați numele clasei în ClsChk în (Nume si Prenume) 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:
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, celelalte casete de selectare vor fi dezactivate automat și o puteți debifa pentru a activa din nou toate casetele de selectare.
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.
Rarticole încântate:
- Cum se filtrează datele pe baza casetei de selectare din Excel?
- Cum se ascunde caseta de selectare atunci când rândul este ascuns în Excel?
- Cum să evidențiați celula sau rândul cu caseta de selectare în Excel?
- Cum se creează o listă derulantă cu mai multe casete de selectare în Excel?
- Cum să inserați ștampila de dată într-o celulă dacă bifați o casetă de selectare în Excel?
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 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!














