Cum se protejează celulele pe baza datei în Excel?
În mod normal, putem proteja foaia de lucru pentru a împiedica alte persoane să editeze sau să modifice valorile celulei, dar, uneori, trebuie să protejați celulele în funcție de dată. De exemplu, vreau să protejez alte celule, dar permit doar modificarea valorilor celulei din data de astăzi, după cum se arată în următoarea captură de ecran, acest articol va vorbi despre cum să protejăm celulele în funcție de dată.
Protejați toate rândurile, cu excepția rândului de dată de astăzi, cu cod VBA
Protejați toate rândurile la care a trecut data cu codul VBA
Protejați toate rândurile, cu excepția rândului de dată de astăzi, cu cod VBA
Permiteți modificarea rândului egal cu data de astăzi, următorul cod vă poate ajuta, vă rugăm să procedați astfel:
1. Faceți clic dreapta pe fila de foaie pe care doriți să protejați celulele în funcție de dată, apoi alegeți Afișați codul din meniul contextual, în fereastra pop-out Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți următorul cod în modulul gol:
Cod VBA: Protejați toate rândurile, cu excepția rândului de dată de astăzi:
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
notițe: În codul de mai sus, litera E este antetul coloanei unde se află data, „111111”Este parola pentru a proteja această foaie. Le puteți schimba după nevoile dvs.
2. Apoi salvați și închideți această fereastră de cod.
(1.) Dacă faceți clic pe alte celule dincolo de rândul de dată de astăzi, va apărea o casetă de solicitare pentru a vă reaminti că celula nu poate fi editată, vedeți captura de ecran:
(2.) Dacă faceți clic și editați rândul este egal cu data de astăzi, acesta va fi modificat cu succes, consultați captura de ecran:
Protejați toate rândurile la care a trecut data cu codul VBA
Dacă trebuie să protejați toate rândurile la care a trecut data, permiteți modificarea rândurilor de date de astăzi și viitoare, aplicați următorul cod VBA:
1. Faceți clic dreapta pe fila de foaie pe care doriți să protejați celulele în funcție de dată, apoi alegeți Afișați codul din meniul contextual, în fereastra pop-out Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți următorul cod în modulul gol:
Cod VBA: Protejați toate rândurile data a trecut:
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
notițe: În codul de mai sus, numărul 5 este numărul coloanei în care se află data, „111111”Este parola pentru a proteja această foaie. Le puteți schimba după nevoile dvs.
3. Apoi salvați și închideți această fereastră de cod.
(1.) Dacă faceți clic pe data celulelor a trecut, va apărea o casetă de solicitare pentru a vă reaminti că celula nu poate fi editată, vedeți captura de ecran:
(2.) Dacă faceți clic pe celula rândurilor pentru a încerca să modificați valorile din data de astăzi sau data viitoare, aceasta va fi modificată cu succes, consultați captura de ecran:
Cele mai bune instrumente de productivitate Office
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
- reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
- Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
- Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
- Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
- Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
- Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
- Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
- Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
- Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!






























