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 de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
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!