Sut i wneud dim ond un blwch gwirio i'w ddewis mewn grŵp o flychau gwirio yn Excel?
Fel y dangosir y screenshot isod, ar gyfer grŵp o flychau gwirio sy'n rhestru yn rhes 2, wrth ddewis neu wirio un blwch gwirio yn unig, bydd y blychau gwirio eraill yn anabl. Sut i'w gyflawni? Gall y cod VBA yn yr erthygl hon eich helpu chi.
Dim ond gwneud un blwch gwirio i'w ddewis gyda chod VBA
Dim ond gwneud un blwch gwirio i'w ddewis gyda chod VBA
Gallwch chi redeg y codau VBA isod i ddewis un blwch gwirio yn unig mewn grŵp blwch gwirio bob tro. Gwnewch fel a ganlyn.
1. Yn gyntaf, mewnosodwch y blychau gwirio yn ôl yr angen. Yma, dylech fewnosod y Blychau gwirio Rheoli ActiveX fel y dangosir y screenshot canlynol:
2. Yna pwyswch Alt + F11 allweddi ar yr un pryd i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.
3. Yn yr agoriad Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, cliciwch Mewnosod > Modiwl Dosbarth.
4. Newid enw'r dosbarth i ClsChk yn y (Enw) blwch o'r Eiddo cwarel, ac yna copïwch a gludwch y cod VBA isod i'r cyfatebol Côd ffenestr. Gweler y screenshot:
Cod VBA 1: Dewiswch un blwch gwirio bob tro yn unig
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. Nawr cliciwch Mewnosod > Modiwlau, yna copïwch a gludwch y cod VBA isod i'r Modiwlau ffenestr.
Cod VBA 2: Dewiswch un blwch gwirio bob tro yn unig
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. Gwasgwch y F5 allwedd i redeg y cod.
O hyn ymlaen, wrth wirio unrhyw un o'r blwch gwirio yn y daflen waith, bydd y blychau gwirio eraill yn cael eu hanalluogi'n awtomatig, a gallwch ei ddad-wirio i actifadu'r holl flychau gwirio eto.
Nodyn: Os ychwanegir blwch gwirio newydd at y grŵp blwch gwirio, ail-redeg y cod VBA i actifadu'r holl flychau gwirio eto. Mae angen i ddileu'r blwch gwirio o'r grŵp blwch gwirio ail-redeg y cod hefyd.
Rerthyglau elated:
- Sut i hidlo data yn seiliedig ar flwch gwirio yn Excel?
- Sut i guddio blwch gwirio pan fydd rhes wedi'i chuddio yn Excel?
- Sut i dynnu sylw at gell neu res gyda blwch gwirio yn Excel?
- Sut i greu rhestr ostwng gyda blychau gwirio lluosog yn Excel?
- Sut i fewnosod stamp dyddiad mewn cell os ticiwch flwch gwirio yn Excel?
Offer Cynhyrchiant Swyddfa Gorau
Supercharge Eich Sgiliau Excel gyda Kutools ar gyfer Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed. Kutools ar gyfer Excel Yn Cynnig Dros 300 o Nodweddion Uwch i Hybu Cynhyrchiant ac Arbed Amser. Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...
Mae Office Tab yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer
- Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
- Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
- Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!