Conas bosca seiceála amháin a dhéanamh le roghnú i ngrúpa boscaí seiceála in Excel?
Mar a thaispeántar an pictiúr thíos, i gcás grúpa boscaí seiceála a liostálann i sraith 2, nuair nach mbeidh ach bosca seiceála amháin á roghnú nó á seiceáil, díchumasófar na ticbhoscaí eile. Conas é a bhaint amach? Is féidir leis an gcód VBA san alt seo cabhrú leat.
Ná déan ach bosca seiceála amháin le roghnú le cód VBA
Ná déan ach bosca seiceála amháin le roghnú le cód VBA
Féadfaidh tú na cóid VBA thíos a reáchtáil chun bosca seiceála amháin a roghnú i ngrúpa bosca seiceála in aghaidh na huaire. Déan mar a leanas le do thoil.
1. Ar dtús, cuir isteach na ticbhoscaí de réir mar is gá duit. Anseo, ba chóir duit an Boscaí seiceála um Rialú ActiveX mar a thaispeántar an pictiúr seo a leanas:
2. Ansin brúigh Eile + Eochracha F11 ag an am céanna chun na Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
3. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúl Ranga.
4. Athraigh ainm an ranga go ClsChk sa (Ainm) bosca an Airíonna pána, agus ansin cóipeáil agus greamaigh an cód VBA thíos sa chomhfhreagrach cód fuinneog. Féach an pictiúr:
Cód VBA 1: Roghnaigh bosca seiceála amháin in aghaidh na huaire
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. Anois cliceáil Ionsáigh > Modúil, ansin cóipeáil agus greamaigh an cód VBA thíos sa Modúil fhuinneog.
Cód VBA 2: Roghnaigh bosca seiceála amháin in aghaidh na huaire
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. Brúigh an F5 eochair chun an cód a rith.
As seo amach, nuair a bheidh aon cheann de na ticbhosca sa bhileog oibre á seiceáil, díchumasófar na boscaí seiceála eile go huathoibríoch, agus is féidir leat é a dhísheiceáil chun gach bosca seiceála a ghníomhachtú arís.
nótaí: Má chuirtear bosca seiceála nua leis an ngrúpa ticbhosca, athcheangail an cód VBA le do thoil chun gach bosca seiceála a ghníomhachtú arís. Ní mór an ticbhosca a scriosadh ón ngrúpa bosca seiceála an cód a athcheangal freisin.
Railt elated:
- Conas sonraí a scagadh bunaithe ar bhosca seiceála in Excel?
- Conas bosca seiceála a cheilt nuair a bhíonn ró i bhfolach in Excel?
- Conas aird a tharraingt ar chill nó as a chéile leis an mbosca seiceála in Excel?
- Conas liosta anuas a chruthú le ticbhoscaí iolracha in Excel?
- Conas stampa dáta a chur isteach i gcill má tictear bosca seiceála in Excel?
Uirlisí Táirgiúlachta Oifige is Fearr
Supercharge Do Scileanna Excel le Kutools le haghaidh Excel, agus Éifeachtúlacht Taithí Cosúil Ná Roimhe. Kutools le haghaidh Excel Tairiscintí Níos mó ná 300 Ardghnéithe chun Táirgiúlacht a Treisiú agus Sábháil Am. Cliceáil anseo chun an ghné is mó a theastaíonn uait a fháil ...
Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca
- Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
- Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
- Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!