Ինչպե՞ս անել, որ միայն մեկ վանդակը ընտրվի Excel- ի վանդակների խմբում:
Ինչպես ցույց է տրված ստորև նշված էկրանի նկարը, 2-րդ շարքում թվարկված վանդակների մի խմբի համար միայն մեկ վանդակը ընտրելիս կամ ստուգելիս մյուս վանդակները կասեցված կլինեն: Ինչպե՞ս հասնել դրան: Այս հոդվածում պարունակվող VBA կոդը կարող է օգնել ձեզ:
Կատարեք միայն մեկ վանդակում, որպեսզի ընտրվի VBA կոդով
Կատարեք միայն մեկ վանդակում, որպեսզի ընտրվի VBA կոդով
Ստորև ներկայացված VBA կոդերը կարող եք գործարկել, որպեսզի ստուգման տուփի խմբում յուրաքանչյուր անգամ ընտրեք միայն մեկ վանդակը: Խնդրում եմ արեք հետևյալ կերպ.
1. Նախ, խնդրում ենք, տեղադրեք վանդակները, որքան ձեզ հարկավոր է: Այստեղ դուք պետք է տեղադրեք այն ActiveX Control վանդակները ինչպես ցույց է տրված հետևյալ նկարը.
2. Դրանից հետո սեղմեք ալտ + F11 ստեղները միաժամանակ բացելու համար Microsoft Visual Basic հավելվածների համար պատուհան.
3. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Դասի մոդուլ.
4. Դասի անունը փոխել այն ClsChk մեջ (Անուն) տուփը Հատկություններ պատուհանը, այնուհետև պատճենեք և կպցրեք ստորև նշված VBA կոդը համապատասխան փաստաթղթում Կոդ պատուհան Տեսեք,
VBA կոդ 1. Ամեն անգամ ընտրեք միայն մեկ վանդակում
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. Այժմ կտտացրեք Տեղադրել > Մոդուլներ, ապա պատճենեք և տեղադրեք ներքևի VBA կոդը ՝ Մոդուլներ պատուհան.
VBA կոդ 2. Ամեն անգամ ընտրեք միայն մեկ վանդակում
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. Սեղմեք F5 ծածկագիրը գործելու համար:
Այսուհետ, աշխատաթերթում նշման տուփերից որևէ մեկը ստուգելիս, մյուս վանդակները ավտոմատ կերպով կանջատվեն, և կարող եք ապանշել այն ՝ բոլոր վանդակները կրկին ակտիվացնելու համար:
ՆշումԵթե ստուգման տուփի խմբին ավելացվեց նոր նշման վանդակը, խնդրում ենք կրկին գործարկել VBA կոդը ՝ բոլոր վանդակները կրկին ակտիվացնելու համար: Նշման տուփից ջնջելով վանդակը, անհրաժեշտ է նաև կրկնել կոդը:
Rուրախ հոդվածներ:
- Ինչպե՞ս զտել տվյալները Excel- ի վանդակի հիման վրա:
- Ինչպե՞ս թաքցնել վանդակը, երբ շարքը թաքնված է Excel- ում:
- Ինչպե՞ս Excel- ում նշել վանդակը տողերով բջիջը կամ տողը:
- Ինչպե՞ս ստեղծել բացվող ցուցակ Excel- ում բազմաթիվ վանդակում:
- Ինչպե՞ս ամսաթվի դրոշմը մտցնել բջիջ, եթե նշեք վանդակը Excel- ում:
Գրասենյակի արտադրողականության լավագույն գործիքները
Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար: Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...
Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք
- Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
- Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
- Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր: