Как да защитим клетки въз основа на дата в Excel?
Обикновено можем да защитим работния лист, за да попречим на други да редактират или променят стойностите на клетките, но понякога трябва да защитите клетките въз основа на дата. Например, искам да защитя други клетки, но да позволя само стойностите на клетките от днешната дата да бъдат модифицирани, както е показано на следната екранна снимка, тази статия ще говори за това как да защитим клетки въз основа на дата.
Защитете всички редове с изключение на днешния ред с дата с 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
Забележка: В горния код буквата E е заглавката на колоната, където се намира датата, „111111” е паролата за защита на този лист. Можете да ги промените според вашите нужди.
2. След това запазете и затворете този прозорец с код.
(1.) Ако щракнете върху други клетки извън днешния ред с дата, ще изскочи поле за подкана, за да ви напомни, че клетката не може да се редактира, вижте екранна снимка:
(2.) Ако щракнете и редактирате реда, равен на днешната дата, той ще бъде променен успешно, вижте екранната снимка:
Защитете всички редове, през които датата е преминала, с 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
Забележка: В горния код номерът 5 е номерът на колоната, където се намира датата, “111111” е паролата за защита на този лист. Можете да ги промените според вашите нужди.
3. След това запазете и затворете този прозорец с код.
(1.) Ако щракнете върху датата на клетките е изтекла, ще се появи поле за подкана, за да ви напомни, че клетката не може да се редактира, вижте екранна снимка:
(2.) Ако щракнете върху клетката с редове, за да опитате да промените стойностите в днешна дата или бъдеща дата, тя ще бъде променена успешно, вижте екранната снимка:
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!