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

Ինչպե՞ս պաշտպանել բջիջները ՝ ելնելով Excel- ի ամսաթվից:

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

doc պաշտպանել ըստ ամսաթվի 1

Պաշտպանեք բոլոր տողերը, բացի այսօրվա ամսաթվից VBA կոդով

Պաշտպանեք բոլոր տողերը, որոնց ամսաթիվն անցել է, VBA կոդով


նետ կապույտ աջ պղպջակ Պաշտպանեք բոլոր տողերը, բացի այսօրվա ամսաթվից VBA կոդով

Թույլ տվեք փոփոխել միայն այսօրվա ամսաթվին հավասար տողը, հետևյալ ծածկագիրը կարող է օգնել ձեզ, խնդրում ենք արեք հետևյալ կերպ.

1, Աջ կտտացրեք այն թերթիկի ներդիրին, որը ցանկանում եք պաշտպանել բջիջները ՝ ելնելով ամսաթվից, և այնուհետև ընտրել Դիտել կոդը համատեքստի ընտրացանկից ՝ դուրս եկած պատուհանում Microsoft Visual Basic հավելվածների համար պատուհանը, խնդրում ենք պատճենել և տեղադրեք հետևյալ կոդը դատարկ Մոդուլի մեջ.

VBA կոդ. Պաշտպանեք բոլոր տողերը, բացառությամբ այսօրվա ամսաթվերի:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
    If Range("E" & Selection.Row).Value <> Date Then
        ActiveSheet.Protect Password:="111111"
        MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
    ElseIf Range("E" & Selection.Row).Value = Date Then
        ActiveSheet.Unprotect Password:="111111"
        ActiveSheet.EnableSelection = xlNoRestrictions
    End If
End Sub

doc պաշտպանել ըստ ամսաթվի 2

ՆշումՎերոհիշյալ ծածկագրում `նամակը E սյունակի վերնագիրն է, որտեղ տեղակայված է ամսաթիվը, «111111”Այս ծածկագիրը պաշտպանելու գաղտնաբառն է: Կարող եք դրանք փոխել ըստ ձեր կարիքի:

2, Դրանից հետո պահեք և փակեք այս կոդի պատուհանը:

(1.) Եթե դուք կտտացնում եք այլ բջիջներ այսօրվա ամսաթվից այն կողմ, ապա հուշում է արկղը ՝ հիշեցնելու համար, որ բջիջը հնարավոր չէ խմբագրել, տես նկարի նկարը.

doc պաշտպանել ըստ ամսաթվի 3

(2.) Եթե կտտացրեք և խմբագրեք տողը հավասար է այսօրվա ամսաթվին, այն հաջողությամբ կփոփոխվի, տես նկարի նկարը.

doc պաշտպանել ըստ ամսաթվի 4


նետ կապույտ աջ պղպջակ Պաշտպանեք բոլոր տողերը, որոնց ամսաթիվն անցել է, VBA կոդով

Եթե ​​Ձեզ անհրաժեշտ է պաշտպանել բոլոր տողերը, երբ անցել է ամսաթիվը, թույլ տվեք փոփոխել միայն այսօրվա և ապագա ամսաթվերի շարքերը, կիրառեք հետևյալ VBA կոդը.

1, Աջ կտտացրեք այն թերթիկի ներդիրին, որը ցանկանում եք պաշտպանել բջիջները ՝ ելնելով ամսաթվից, և այնուհետև ընտրել Դիտել կոդը համատեքստի ընտրացանկից ՝ դուրս եկած պատուհանում Microsoft Visual Basic հավելվածների համար պատուհանը, խնդրում ենք պատճենել և տեղադրեք հետևյալ կոդը դատարկ Մոդուլի մեջ.

VBA կոդ. Պաշտպանեք բոլոր շարքերի ամսաթիվը, որն անցել է.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
  Dim xRow As Long
  xRow = 2
  ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
  ThisWorkbook.ActiveSheet.Cells.Locked = False
  Do Until IsEmpty(Cells(xRow, 5))
    If Cells(xRow, 5) < Date Then
      Rows(xRow).Locked = True
    End If
    xRow = xRow + 1
  Loop
  ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub

doc պաշտպանել ըստ ամսաթվի 5

ՆշումՎերոհիշյալ կոդում համարը 5 սյունակի համարն է, որտեղ տեղակայված է ամսաթիվը, «111111”Այս ծածկագիրը պաշտպանելու գաղտնաբառն է: Կարող եք դրանք փոխել ըստ ձեր կարիքի:

3, Դրանից հետո պահեք և փակեք այս կոդի պատուհանը:

(1.) Եթե կտտացնում եք բջիջների ամսաթվի անցման մասին, հուշում է արկղը, որը կհիշեցնի ձեզ, որ բջիջը հնարավոր չէ խմբագրել, տե՛ս նկարը.

doc պաշտպանել ըստ ամսաթվի 6

(2.) Եթե կտտացնում եք շարքերի բջիջը ՝ փորձելու համար փոխել արժեքները այսօրվա կամ ապագա ամսաթվով, այն հաջողությամբ կփոփոխվի, տես նկարի նկարը.

doc պաշտպանել ըստ ամսաթվի 7


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (30)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սողանցք. Գաղտնաբառը կարող է տեսնել այլ անձ՝ օգտագործելով «Դիտել կոդը» տարբերակը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
չի աշխատում, քանի որ բոլոր բջիջները ցույց են տալիս հաղորդագրությունը, բայց կարող են խմբագրվել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, հնարավո՞ր է սյունակները կողպել ամսաթվով անմիջապես սյունակների վերևում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Մասնավոր ենթաթերթ_Փոփոխություն (ByVal-ի նպատակը որպես միջակայք)

'Բաժանորդագրվել http://youtube.com/excel10tutorial

«Աջակցեք ալիքին՝ նվիրաբերելով http://patreon.com/excel10tutorial

Dim col As Range

«Ստեղծեք թերթի ճիշտ անունը այստեղ՝

ThisWorkbook.Sheets-ով («AGOSTO-22»)

Ապապաշտպանել «ABCDE»-ն

Յուրաքանչյուր սյունակի համար .UsedRange.Columns-ում

col.EntireColumn.Locked = col.Range("A1").Արժեք <> Ամսաթիվ

Հաջորդ գնդ

Պաշտպանեք «ABCDE»

.EnableSelection = xlNoRestrictions

Վերջ

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, հնարավո՞ր է կողպել որոշ բջիջներ՝ կախված այն ամսաթվից, որը գտնվում է անմիջապես սյունակում դրանց վերևում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Լուսիս,
Կարո՞ղ եք ավելի կոնկրետ ներկայացնել ձեր խնդիրը: Կամ կարող եք կցել սքրինշոթ՝ որպես ձեր խնդիր:
Thank you!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Սքայանգ

Այո, ահա սքրինշոթ: Հուսով եմ, որ սա օգնում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Լյուսիս,
Դուք նկատի ունեք կողպե՞լ այն սյունակները, որոնց ամսաթիվը անցյալ է, և միայն այսօրվա և ապագա օրերի սյունակները կարող են փոփոխվել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ճիշտ! Ինչպե՞ս կվարվեի այդ մասին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Լուիս,
Ի՞նչ կասեք A1-ի ամսաթվի բջիջի մասին: Արդյո՞ք այն մուտքագրվում է ձեռքով, թե մուտքագրվում է =now() բանաձևով: Եթե ​​դա բանաձևի բջիջ է, ապա կողպված սյունակները կփոխվեն ամսաթվի փոփոխությամբ:
Սպասում ենք Ձեր պատասխանին!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Skyyangg

այո, A1 բջիջն ունի =now() բանաձևը:

Thanks!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ.....


Ես օգտագործում եմ «Պաշտպանել բոլոր տողերը» ծածկագիրը, բացառությամբ այսօրվա ամսաթվի տողի...



Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
― Թարմացնելով Extendoffice 20161025
If Range("A" & Selection.Row).Value <> Date then
ActiveSheet.Protect Գաղտնաբառ:===111111
MsgBox «Միայն այսօրվա ամսաթիվը կարող է խմբագրվել», vbInformation, «Kutools for Excel»
ElseIf Range ("E" & Selection.Row).Value = Date then
ActiveSheet. Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
Վերջ: Եթե
Վերջ Sub


Այն բանից հետո, երբ ես պահում եմ i-ը և սեղմում բջիջը, ես ստանում եմ հաղորդագրություն միայն այսօրվա ամսաթվերի տողը կարող է խմբագրվել… բայց եթե կրկնակի սեղմեմ բջիջը, ես կարող եմ խմբագրել… խնդրում ենք օգնել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի է աշխատում: բայց ինչպե՞ս կարող եմ այն ​​փոխարկել 3-րդ շարքի ամսաթվերի հիման վրա սյունակը բացելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Որպես մեկը, ով համեմատաբար նոր է VBA-ում, դեմ կլինե՞ք բացատրել, թե ինչու xRow = 2 տող 4-ում:



Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
քանի որ շարքում թիվ. 1 դուք ունեք վերնագիր
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Այս կոդը գործարկելիս ես սխալ եմ ստանում, ինչպես ցույց է տրված նկարում
Նաև ես կցում եմ իմ excel-ի լուսանկարը, որտեղ ուզում եմ փոփոխություններ կատարել:

Կարո՞ղ եք ուղղորդել իմ կոդը, որտեղ պետք է փոփոխություններ կատարեմ իմ excel ֆայլի համաձայն, որպեսզի հնարավոր լինի խմբագրել միայն այսօրվա և ապագա ամսաթվերը պարունակող բջիջները:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կարան,
Քանի որ ձեր աղյուսակում կան միաձուլված բջիջներ, վերը նշված կոդը չի կարող ճիշտ կիրառվել միացված բջիջների աղյուսակում:
Եթե ​​ունեք այլ լավ գաղափարներ, խնդրում ենք մեկնաբանել այստեղ: Շնորհակալություն!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես փորձեցի անել նույնը, բայց պաշտպանել բոլոր սյունակները, բացառությամբ այսօրվա ամսաթվի սյունակի VBA կոդով, փոխարինելով «Selection.Row»-ը «Selection.Columns»-ով և «E»-ն «5»-ով (տողի համարը, որտեղ ամսաթվերն են), բայց Ես շարունակում եմ ստանալ 1004 սխալ:

Օգնություն խնդրում եմ:

Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես փորձեցի անել նույնը, բայց պաշտպանել բոլոր սյունակները, բացառությամբ այսօրվա ամսաթվի սյունակի VBA կոդով, փոխարինելով «Selection.Row»-ը «Selection.Columns»-ով և «E»-ն «5»-ով (տողի համարը, որտեղ ամսաթվերն են), բայց Ես շարունակում եմ ստանալ 1004 սխալ:

Օգնություն խնդրում եմ:

Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Այս ծածկագիրը ձեզ անհրաժեշտ սյունակներում կիրառելու համար օգտագործեք հետևյալ VBA կոդը. (Նշում. Կոդում 5-ը տողի համարն է, որը պարունակում է ամսաթիվ, խնդրում ենք փոխել այն ըստ ձեր կարիքի:)

Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim xRg որպես տիրույթ
Սահմանել xRg = Target.Worksheet.Cells(5, Target.Column)
Եթե ​​xRg <> Ամսաթիվ Ապա
ActiveSheet.Protect Գաղտնաբառ:===111111
MsgBox «Միայն այսօրվա ամսաթիվը կարող է խմբագրվել», vbInformation, «Kutools for Excel»
ElseIf xRg.Value = Date then
ActiveSheet. Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
Վերջ: Եթե
Վերջ Sub

Խնդրում եմ փորձեք, հուսով եմ, որ դա կարող է օգնել ձեզ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն! Կներեք, ես մինչ այժմ չեմ ստացել ձեր պատասխանը, հնարավոր է, որ իմ էլ.

Դա աշխատեց! Չեմ կարող բավականաչափ շնորհակալություն հայտնել: Ես իսկապես գնահատում եմ դա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Ուրախ եմ, որ դա կարող է օգնել ձեզ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Ես փորձում եմ ընդլայնել սա՝ պաշտպանելու սյունակները, որոնք չեն ներառում ընթացիկ ամիսը կամ/կամ ընթացիկ շաբաթը: Փորձեցի «Ամսաթիվը» փոխարինել «ամիսով» կամ «շաբաթով», բայց չստացվեց։

Ես կցել եմ շաբաթաթերթի նմուշ, որտեղ օգտատերը չի կարող խմբագրել կամ մուտքագրել սյունակներ, բացի այս շաբաթից:

Որևէ խորհուրդ դրա վերաբերյալ: թե՞ օգտագործեմ փաստացի ամսաթվերը՝ ամսվա մեկ օրն արտացոլելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն ձեր օգնության համար, շատ շնորհակալ եմ ընկեր, դա մեծ օգնություն է: և լուծեց իմ լարվածությունը:
Կարող ապահով լինել
Հարգանքներով Ռոհիտ Խաննա
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես բախվում եմ մեկ խնդրի, երբ ես փակում եմ ֆայլը և նորից բացում այն ​​նույն օրը, կոդը չի աշխատում: խնդրում եմ օգնեք, որ խրված եմ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ռոհիտ,
Կոդը պահելու համար դուք պետք է պահպանեք ձեր աշխատանքային գիրքը որպես Excel Macro-Enabled Workbook ձևաչափ, խնդրում ենք փորձել, շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
բարև, ես դա արեցի, բայց երբ սեղմում եմ բջջային հաղորդագրությունը ցույց է տալիս, որ այն հնարավոր չէ խմբագրել, բայց երբ ես սեղմում եմ ստեղնաշարը, ես դեռ կարող եմ գրել բջիջում
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև ձեզ, ես կցանկանայի պաշտպանել ապագա օրերը և թույլ տալ խմբագրել ընթացիկ և անցած օրերը: Ինչպե՞ս կարող եմ դա անել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Միգել, ապագա օրերը պաշտպանելու համար խնդրում ենք կիրառել ստորև նշված կոդը. Մասնավոր ենթաթերթ_Փոփոխություն (ByVal-ի թիրախը որպես Excel.Range)
― Թարմացնելով Extendoffice
Dim xRow As Long
xՏող = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Կատարեք մինչև դատարկ լինի (Cells (xRow, 5))
If Cells (xRow, 5) > Date then
Տողեր(xRow).Կողպված = Ճշմարիտ
Վերջ: Եթե
xRow = xRow + 1
Հանգույց
ThisWorkbook.ActiveSheet.Protect Password:="111111"
Ավարտել ենթաԽնդրում ենք փորձել, հուսով եմ, որ դա կարող է օգնել ձեզ:
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

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