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

Ինչպե՞ս կողպել նշված բջիջները ՝ առանց Excel- ի ամբողջ աշխատանքային թերթը պաշտպանելու:

Սովորաբար, անհրաժեշտ է պաշտպանել ամբողջ աշխատանքային թերթը ՝ բջիջները խմբագրումից արգելափակելու համար: Կա՞ որևէ մեթոդ `բջիջները կողպելու համար` առանց ամբողջ աշխատանքային թերթը պաշտպանելու: Այս հոդվածը ձեզ համար խորհուրդ է տալիս VBA մեթոդ:

Կողպեք նշված բջիջները ՝ առանց ամբողջ VBA- ով պաշտպանելու աշխատանքային թերթիկը


Կողպեք նշված բջիջները ՝ առանց ամբողջ VBA- ով պաշտպանելու աշխատանքային թերթիկը

Ենթադրելով, որ անհրաժեշտ է կողպել A3 և A5 բջիջները ընթացիկ աշխատանքային թերթում, հետևյալ VBA կոդը կօգնի ձեզ հասնել դրան ՝ առանց ամբողջ աշխատանքային թերթը պաշտպանելու:

1. Աջ կտտացրեք թերթիկի ներդիրին և ընտրեք Դիտել կոդը աջ կտտացնելու ցանկից:

2. Դրանից հետո պատճենեք և կպցրեք ստորև նշված VBA կոդը օրենսգրքի պատուհանում: Տեսեք,

VBA կոդ. Կողպեք նշված բջիջները ՝ առանց ամբողջ աշխատանքային թերթը պաշտպանելու

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target.Row = 3 Or Target.Row = 5 Then
            Beep
            Cells(Target.Row, Target.Column).Offset(0, 1).Select
        End If
    End If
End Sub

ՆշումԿոդում, Սյունակ 1, Տող = 3 և Տող = 5 նշեք A3 և A5 բջիջները ընթացիկ աշխատաթերթում կփակվեն ծածկագիրը գործարկելուց հետո: Դուք կարող եք փոխել դրանք, ինչպես ձեզ հարկավոր է:

3. Սեղմեք ալտ + Q ստեղները միաժամանակ փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

Այժմ A3 և A5 բջիջները կողպված են ընթացիկ աշխատանքային թերթում: Եթե ​​ընթացիկ աշխատաթերթում փորձեք ընտրել A3 կամ A5 բջիջները, կուրսորը ավտոմատ կերպով կտեղափոխվի աջ հարակից բջիջ:


Առնչվող հոդվածներ:


Գրասենյակի արտադրողականության լավագույն գործիքները

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (22)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում էի բանաձևը թաքցնել O1 բջիջում: Խնդրում ենք տեղեկացնել նույն բանաձևի մասին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Աջայ,
Բջիջների բանաձևը թաքցնելու համար խնդրում ենք հետևել ստորև նշված հիպերհղմանը, լուծումը ստանալու համար:
https://www.extendoffice.com/documents/excel/1424-excel-hide-formulas.html
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Աջայ,
Եթե ​​ցանկանում եք O1 բջիջում բանաձևը թաքցնել առանց աշխատաթերթը պաշտպանելու, խնդրում ենք փորձել ստորև ներկայացված VBA սկրիպտը:
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Ստատիկ TheFormula As String
If Target.Address = «$O$1» Ապա
Թիրախի հետ
TheFormula = .Formula
.արժեք = .արժեք
Վերջ
Ուրիշ
Տարածքով («O1»)
Եթե ​​ոչ .HasFormula Ապա
.Formula = TheFormula
Վերջ: Եթե
Վերջ
Վերջ: Եթե
Վերջ Sub

Կոդն օգտագործելուց հետո թվում է, թե O1 բջիջի բանաձևը փոխվում է բանաձևի արդյունքի: Փաստորեն, այն թաքցնում է բանաձևը՝ բանաձևի տողում բանաձևի արդյունքը ցուցադրելով: Եվ բանաձեւը կցուցադրվի, եթե կոդը կոտրված է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
ինչպես կարող եմ կողպել տողերի մի շարք, ասենք 4-46-ը և 8-րդ և 10-րդ սյունակները
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Էյ Ջեյ,
Եթե ​​ցանկանում եք կողպել նշված տողերի և սյունակների շարքը, փորձեք ստորև ներկայացված VBA սկրիպտը:

Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim xRg որպես տիրույթ
Dim xRgEx As Range
Dim xRgExEach As Range
Ս.թ. սխալի Ռեզյումե Next
Դիմում. ScreenUpdating = Սուտ է
Սահմանեք xRg = Range("H:J,4:46") 'Փոխեք տողերի և սյունակների տիրույթը, որը կկողպեք առանց աշխատանքային թերթիկի պաշտպանության
Սահմանել xRgEx = Application.Intersect(xRg, Target)
Եթե ​​xRgEx-ը ոչինչ չէ, ապա դուրս եկեք Sub
Բջիջներ(1, 1): Ընտրեք «Նշեք այն բջիջը, որին կտեղափոխեք կողպված բջիջներն ընտրելուց հետո
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի լուծում է, հատկապես ընդհանուր աշխատանքային գրքույկներում, որտեղ պաշտպանությունը միացնելը/անջատելը չի ​​աջակցվում: Շատ շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Կրիստալ,

Դուք ինձ լուծում եք տվել (դրա կեսը), որի հետ ես պայքարում էի վերջին մի քանի շաբաթների ընթացքում, բայց ես ևս մի քանի ակնարկների կարիք կունենայի:

Ինչպե՞ս կարող է սա կիրառվել միայն աղյուսակի տիրույթի, այլ ոչ թե ամբողջ աշխատաթերթի վրա: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Քանի որ ստորև տրված VBA կոդը, խնդրում ենք փոխել նշված միջակայքը «H:J,4:46» աղյուսակի այն միջակայքը, որը միայն ցանկանում եք կողպել աշխատաթերթում:
Իսկ բջիջները (1,1) պետք է լինեն աղյուսակի միջակայքից դուրս գտնվող բջիջը: Աղյուսակի տիրույթի ցանկացած բջիջի վրա սեղմելիս կուրսորը ավտոմատ կերպով կտեղափոխվի այդ բջիջ:

Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim xRg որպես տիրույթ
Dim xRgEx As Range
Dim xRgExEach As Range
Ս.թ. սխալի Ռեզյումե Next
Դիմում. ScreenUpdating = Սուտ է
Սահմանեք xRg = Range("H:J,4:46") 'Փոխեք տողերի և սյունակների տիրույթը, որը կկողպեք առանց աշխատանքային թերթիկի պաշտպանության
Սահմանել xRgEx = Application.Intersect(xRg, Target)
Եթե ​​xRgEx-ը ոչինչ չէ, ապա դուրս եկեք Sub
Բջիջներ(1, 1): Ընտրեք «Նշեք այն բջիջը, որին կտեղափոխեք կողպված բջիջներն ընտրելուց հետո
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Երբ գործարկեք VBA-ն՝ այդ բջիջները կողպելու համար, ինչպե՞ս եք դրանք բացելու:
Արդյո՞ք պետք է ունենալ VBA կոդ բացելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև ՌԵՆԻԿ,

Մենք չենք տրամադրում ապակողպված VBA կոդը, ձեռքով կոտրել կոդը, այնուհետև տարածքը կարող է նորմալ խմբագրվել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Կրիստալ,

Այդուհանդերձ, կա՞, որ այս մակրոն կարող է ավտոմատ կերպով գործարկվել ֆայլը բացելիս կամ որևէ բջիջ սեղմելուց հետո: Ես չեմ ուզում, որ մարդիկ ստիպված լինեն ձեռքով գործարկել մակրոն, որպեսզի անհրաժեշտ միջակայքերը պաշտպանված լինեն:

Նաև ինձ անհրաժեշտ կլինի պաշտպանել 12 ոչ հարակից տիրույթներ: Օրինակ՝ I11:I20 և K11:K20 և M11:20 և այլն... Ինչպե՞ս կարող եմ դա անել:

Վերջին, և այս մեկը կարող է չափազանց շատ բան պահանջել, բայց հնարավո՞ր է պաշտպանությունը կիրառել վերևում ներկայացված օրինակի տիրույթներում, ԲԱՅՑ այնուհետև պաշտպանությունը երկարացնել լրացուցիչ տողերով, երբ նորերը ավելացվեն: Այլ կերպ ասած, պաշտպանությունը կկիրառվի I11:I20 և K11:K20 և M11:20 նկատմամբ, բայց օգտվողը կարող է ավելացնել նոր տող (տող 21), նոր տվյալներով, բայց երբ նոր տողը ավելացվի, ապա պաշտպանությունը կկիրառվի I11:I21 և K11:K21 և M11:21 նկատմամբ: Լուսին եմ խնդրում? :-)

Շնորհակալություն այն ամենի համար, ինչ դուք արդեն տրամադրել եք: Ես չեմ կարող բավականաչափ շնորհակալություն հայտնել ձեզ և ձեզ նման մարդկանց ձեր գիտելիքները կիսելու համար: Զարմանալի!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Կառլոս,
Հետևյալ VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Խնդրում ենք լրացնել ձեր միջակայքերը կոդի չորրորդ տողում և սեղմել Alt + Q ստեղները՝ աշխատանքային թերթ վերադառնալու համար: Այնուհետև խնդրում ենք տեղափոխել այլ աշխատաթերթ և այնուհետև վերադառնալ ընթացիկ թերթին՝ կոդը ակտիվացնելու համար: Շնորհակալություն մեկնաբանության համար։

Dim xRg որպես տիրույթ
Մասնավոր ենթաթերթ_Ակտիվացնել()
Եթե ​​xRg-ը ոչինչ է, ապա
Սահմանել xRg = Միավորում (Range ("I10:I20"), Range ("K10:K20"), Range ("M10:M20"), Range ("O10:O20"))
Վերջ: Եթե
Վերջ Sub
Private Sub Worksheet_Change (ByVal Target as Range)
Dim I Որպես ամբողջ թիվ
Dim xRgNew As Range
Dim xRgLCell որպես տիրույթ
Ս.թ. սխալի Ռեզյումե Next
Application.EnableEvents = False
For I = 1 To xRg.Areas.Count
Սահմանել xRgLCell = xRg.Areas.Item(I)
Սահմանել xRgLCell = xRgLCell (xRgLCell.Count). Օֆսեթ (1, 0)
Եթե ​​Target.Address = xRgLCell.Address Այնուհետեւ
Եթե ​​xRgNew-ը ոչինչ չէ, ապա
Սահմանել xRgNew = Թիրախ
Ուրիշ
Սահմանել xRgNew = Միություն (xRgNew, Թիրախ)
Վերջ: Եթե
Վերջ: Եթե
հաջորդ
Սահմանել xRg = Միություն (xRg, xRgՆոր)
Application.EnableEvents = Ճիշտ է
Վերջ Sub
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Սխալի դեպքում GoTo Exitsub
Եթե ​​(Not Intersect(xRg, Target) ոչինչ է) And (Target.Count = 1) Ապա
Target.Offset(0, 1): Ընտրեք
Վերջ: Եթե
Exitsub:
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Կրիստալ,

Շատ շնորհակալ եմ սրա համար: Այն աշխատում է անթերի։

Ես օգտագործել եմ Կառլոսի մեկնաբանության կոդը՝ ֆայլը բացելիս մակրոն ավտոմատ կերպով գործարկելու համար: Ինձ հետաքրքրում էր, թե արդյոք կա «Հետարկել» կոճակ կամ դրա նման մի տարբերակ, որը թույլ է տալիս չեղարկել այդ կոդը և, հետևաբար, բացել այն միջակայքերը, որոնք կողպված են:

Ես ուզում եմ, որ դրանք հիմնականում կողպված լինեն, բայց ես կցանկանայի ապակողպել դրանք, եթե անհրաժեշտ լինի փոխել որևէ տվյալ: Միակ պատճառը, որ ես չեմ պաշտպանում ամբողջ թերթիկը, այն է, որ եթե պաշտպանեմ, ապա այն անջատում է սեղանների վրա ընդլայնելու հնարավորությունը: Դա իր հերթին ընդլայնել գծային գծապատկերում:

Շատ շնորհակալ եմ օգնության համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Էրին,
Դուք կարող եք ձեռքով կոտրել կոդը՝ սեղմելով Break կոճակը Microsoft Visual Basic հավելվածների համար պատուհանում՝ բացելու այդ միջակայքերը: Եվ գործարկեք կոդը՝ այն կրկին ակտիվացնելու համար: Շնորհակալություն ձեր մեկնաբանության համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Մեկնաբանություն faire pour verrouiller de la cellule B8 à B10000?
D'avance merci de votre reponse.
Christophe
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կա՞ որևէ գործառույթ, որը կարող է սահմանել, օրինակ, տող 2-ի բջիջը 13-ից մինչև 900: Կամ ես պետք է ձեռքով նշեմ յուրաքանչյուր բջիջի անունը կոդի մեջ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,

Ես օգտագործեցի Կառլոսին տրամադրված կոդը, և այն արեց հենց այն, ինչ ուզում էի: Արդյո՞ք հնարավոր է, որ որոշ ընդգրկույթներ շեղվեն ROW-ում, որը գտնվում է պաշտպանված տիրույթից աջ (ինչպես «Կառլոսի» ծածկագիրը արդեն իսկ անում է), բայց արդյոք այլ տիրույթներ շեղվել են COLUMN-ի ներսում դեպի պաշտպանված տիրույթից անմիջապես ներքև գտնվող բջիջը: Երկու անգամ փորձեցի մուտքագրել «Կառլոս» կոդը և փոխել օֆսեթը, բայց ստացա մի շարք սխալներ։

Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Չարլի,
Կներեք, դեռ չեմ կարող օգնել ձեզ այդ հարցում: Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Ես փորձել եմ օգտագործել ձեր նախկինում հրապարակած տիրույթների կոդը, բայց այն չի աշխատում. կարո՞ղ եք ինձ խորհուրդ տալ, արդյոք ես պետք է համատեղեմ վերևի կամ ներքևի միջակայքերի ծածկագիրը:


Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես չեմ կարող փորձել, թաքցնել բանաձևը առանց պաշտպանության:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կա՞ միջոց, որ այս VBA կոդը ինքնաբերաբար աշխատի ամեն անգամ, երբ ինչ-որ մեկը բացում է ֆայլը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Ահարոն, կոդը ավելացնելուց հետո խնդրում ենք պահպանել աշխատանքային գիրքը որպես Excel մակրո-միացված աշխատանքային գրքույկ (սեղմեք Ֆայլ > Պահել As > նշեք թղթապանակ ֆայլի համար > ընտրեք Excel մակրոներով աշխատունակ գիրք - ից Պահպանել որպես մուտքագրեք բացվող ցուցակ > Փրկել): Դրանից հետո ամեն անգամ, երբ բացում եք ֆայլը, կոդը ավտոմատ կերպով աշխատում է։
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

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