Обычно мы можем защитить рабочий лист, чтобы другие не могли редактировать или изменять значения ячеек, но иногда вам нужно защищать ячейки на основе даты. Например, я хочу защитить другие ячейки, но разрешить изменять только значения ячеек сегодняшней даты, как показано на следующем снимке экрана, в этой статье будет рассказано о том, как защитить ячейки на основе даты.
Защитить все строки, кроме сегодняшней строки даты, с помощью кода VBA
Защитить все строки, прошедшие дату, с помощью кода VBA
Защитить все строки, кроме строки сегодняшней даты, с помощью кода VBA
Разрешить изменять только строку, которая соответствует сегодняшней дате, следующий код может вам помочь, сделайте следующее:
1 . Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите защитить ячейки по дате, а затем выберите Просмотреть код из контекстного меню во всплывающем меню Microsoft Visual Basic для приложений , скопируйте и вставьте следующий код в пустой модуль:
Код VBA: защитить все строки, кроме сегодняшней строки даты:
Примечание : в приведенном выше коде , буква – это заголовок столбца, в котором находится дата: « 111111 ”- пароль для защиты этого листа. Вы можете изменить их по своему усмотрению.
2 . Затем сохраните и закройте это окно кода.
(1.) Если вы щелкнете другие ячейки за пределами сегодняшней строки даты, появится всплывающее окно, напоминающее вам, что ячейка не может быть отредактирована, см. Снимок экрана :
(2.) Если вы щелкнете и отредактируете строка соответствует сегодняшней дате, она будет успешно изменена, см. снимок экрана:
Защитить все строки, прошедшие дату, с помощью кода VBA
Если вам нужно защитить все строки, прошедшие с даты, разрешить изменять только строки сегодняшней и будущей даты, пожалуйста, примените следующий код VBA:
1 . Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите защитить ячейки по дате, а затем выберите Просмотреть код из контекстного меню во всплывающем меню Microsoft Visual Basic для приложений , скопируйте и вставьте следующий код в пустой модуль:
Код VBA: защита всех строк прошла дата:
Примечание . В приведенном выше коде число – это номер столбца, в котором находится дата, « 111111 ”- пароль для защиты этого листа. Вы можете изменить их по своему усмотрению.
3 . Затем сохраните и закройте это окно кода.
(1.) Если вы щелкнете по дате ячеек, появится всплывающее окно, напоминающее вам, что ячейка не может быть отредактирована, см. Снимок экрана:
(2.) Если щелкнуть ячейку строк чтобы попытаться изменить значения сегодняшней или будущей даты, они будут успешно изменены, см. снимок экрана: