Note: The other languages of the website are Google-translated. Back to English

Ինչպե՞ս անել, որ միայն մեկ վանդակը ընտրվի 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-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (14)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն! Շնորհակալություն այս օգտակար ուղեցույցի համար: Ես լրացուցիչ հարց ունեմ՝ ես աշխատում եմ և՛ սյունակների, և՛ տողերի հետ: Եթե ​​վանդակի մեկ արժեքը ճիշտ է, ապա նույն տողի և սյունակի բոլոր վանդակները պետք է անջատվեն: Ինչպե՞ս կարող եմ դա անել: Լավագույնը, Մորտեն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
երբ ես փակում եմ Excel-ը և նորից բացում ֆայլը, վանդակները դադարում են աշխատել, ինչպե՞ս կարող եմ շտկել այս pls-ը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Խնդրում ենք պահել աշխատանքային գրքույկը որպես Excel-ի մակրո-միացված աշխատանքային գրքույկ՝ կոդերը աշխատանքային գրքում պահելու համար: Բայց երբ նորից բացում եք աշխատանքային գիրքը, դուք պետք է մուտք գործեք կոդի պատուհան, որպեսզի ձեռքով գործարկեք կոդը Module պատուհանում՝ այն ակտիվացնելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ճանապարհ կա՞: Ես կցանկանայի օգտագործել սա մի քանի մարդկանց համար, և վստահ եմ, որ նրանք բացելուց հետո չեն գործարկի կոդը…
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Bonjour, Je suis dans la même իրավիճակ. Հնարավո՞ր է արդյոք «ClsChk» դասի մոդուլը ավտոմատացնել կամ խախտել: 
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես նույն հարցն ունեմ, կա՞ արդյոք Excel-ը բացելու որևէ տարբերակ՝ ֆունկցիան աշխատելով:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, կներեք անհանգստության համար: Խնդիրը լուծելու համար կարող եք հետևել ստորև նշված քայլերին։1. Պահպանեք աշխատանքային գրքույկը որպես Excel մակրո միացված է Աշխատանքային տետր (սեղմեք Ֆայլ > Պահպանել որպես > ընտրել նպատակակետ թղթապանակ > ընտրել «Excel մակրոներով աշխատունակ գիրք" մեջ Պահել որպես տիպ բացվող ցուցակ > Փրկել);2. Ավելացնել հետևյալ կոդը մեջ Այս գործառույթը կոդի խմբագիր, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում:;3. Պահպանեք կոդը: Մասնավոր ենթագիրք_Բաց()
Ս.թ. սխալի Ռեզյումե Next
ClsChk_Init
Վերջ Sub

Մասնավոր ենթաօրենսդրական աշխատանքային գրքույկ_SheetActivate(ByVal Sh որպես օբյեկտ)
Ս.թ. սխալի Ռեզյումե Next
ClsChk_Init
Վերջ Sub

Մասնավոր ենթաօրենսդրական աշխատանքային գրքույկ_շերտՓոխել (ByVal Sh որպես օբյեկտ, ByVal թիրախ որպես միջակայք)
Ս.թ. սխալի Ռեզյումե Next
ClsChk_Init
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
սխալը հայտնվում է առաջին կոդի տակ:
xObj.Object.Value = False
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Առնոլդ, ստացե՞լ եք որևէ հուշագիր: իսկ Excel-ի ո՞ր տարբերակն եք օգտագործում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այն լավ է աշխատում, եթե այն ամենը, ինչ դուք օգտագործում եք, վանդակներ են:
Եթե ​​ավելացնեք որևէ այլ ActiveX տարր և դրանց կառավարում նշանակեք, ապա այն կհայտնվի Առնոլդի նշած սխալը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դուք իսկապես պետք է բացատրեք, թե ինչպես մուտք գործել դասի անունը, որպեսզի փոխեք այն: BTW ժողովուրդ, F4-ն է էկրանի ձախ կողմում պատուհանը բացելու և դասի անունը խմբագրելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ ստանալ այս հատկությունը տող առ տող, այլ ոչ թե ամբողջ թերթիկ: Ինչպե՞ս պետք է մի փոքր շտկեմ այս կոդը: Ես այնքան էլ ծանոթ չեմ vba-ին: Եթե կարող եք, խնդրում եմ օգնեք ինձ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Մին Կո Կո,
Եթե ​​ցանկանում եք տող առ տող ընտրել միայն մեկ տարբերակ, խորհուրդ եմ տալիս օգտագործել Option Button (Form Control) և Group Box (Form Control) համակցությունը:
1. Պարզապես գծեք խմբային տուփ աշխատաթերթում:
2. Ընտրված պահեք Group Box-ը, այնուհետև վանդակի ներսում նկարեք Option Buttons:
3. Կրկնեք քայլերը՝ նոր խմբի տուփը և Ընտրանքների կոճակները նոր շարքում տեղադրելու համար:
4. Քանի որ խմբային տուփն ունի վերնագիր և եզրագծեր, դուք կարող եք կիրառել ստորև ներկայացված VBA կոդը Module կոդը պատուհանում՝ թաքցնելու խմբային տուփերի բոլոր վերնագրերն ու սահմանները ընթացիկ աշխատաթերթում:
Sub ToggleVisible ()
Dim myGB-ը որպես GroupBox
Յուրաքանչյուր myGB-ի համար ActiveSheet.GroupBoxes-ում
myGB.Visible = False
Հաջորդ myGB
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Bonjour, Merci pour ce tuto tout fonctionne. Cependant, je suis obligé d'éxécuter manuellement le "ClsChk" à chaque fois pour que cela fonctionne, mon fichier est un fichier groupe pour la société, serait-il հնարավոր է, որ lance automatiquement ? Merci d'avance.
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից