Kako v skupini potrditvenih polj v Excelu izbrati samo eno potrditveno polje?
Kot je prikazano na spodnji sliki zaslona, bodo za skupino potrditvenih polj, ki so navedena v vrstici 2, pri potrditvi ali potrditvi le enega potrditvena polja onemogočena. Kako to doseči? Koda VBA v tem članku vam lahko pomaga.
Izberite samo eno potrditveno polje s kodo VBA
Izberite samo eno potrditveno polje s kodo VBA
Spodnje kode VBA lahko zaženete, da naenkrat izberete samo eno potrditveno polje v skupini potrditvenih polj. Naredite naslednje.
1. Najprej vstavite potrditvena polja, kot jih potrebujete. Tu bi morali vstaviti Potrditvena polja ActiveX Control kot je prikazan naslednji posnetek zaslona:
2. Nato pritisnite druga + Tipke F11 hkrati, da odprete Microsoft Visual Basic za aplikacije okno.
3. Na odprtju Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Razredni modul.
4. Spremenite ime predavanja v ClsChk v (Ime) v polju Nepremičnine in nato kopirajte in prilepite spodnjo kodo VBA v ustrezno Koda okno. Oglejte si posnetek zaslona:
Koda VBA 1: Naenkrat izberite samo eno potrditveno polje
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. Zdaj kliknite Vstavi > Moduli, nato kopirajte in prilepite spodnjo kodo VBA v Moduli okno.
Koda VBA 2: Naenkrat izberite samo eno potrditveno polje
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. Pritisnite F5 tipko za zagon kode.
Od zdaj naprej bodo pri potrditvi katerega koli potrditvenega polja na delovnem listu druga potrditvena polja samodejno onemogočena in ga lahko počistite, da znova aktivirate vsa potrditvena polja.
Opombe: Če je v skupino potrditvenih polj dodano novo potrditveno polje, znova zaženite kodo VBA, da znova aktivirate vsa potrditvena polja. Če izbrišete potrditveno polje iz skupine potrditvenih polj, morate ponovno zagnati tudi kodo.
Rvzneseni članki:
- Kako filtrirati podatke na podlagi potrditvenega polja v Excelu?
- Kako skriti potrditveno polje, ko je vrstica skrita v Excelu?
- Kako označiti celico ali vrstico s potrditvenim poljem v Excelu?
- Kako ustvariti spustni seznam z več potrditvenimi polji v Excelu?
- Kako vstaviti datumski žig v celico, če je v Excelu označeno potrditveno polje?
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!