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 de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru 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...
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!