Как защитить ячейки по дате в 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.) Если вы щелкните ячейку строк, чтобы попытаться изменить значения сегодняшней даты или будущей даты, она будет успешно изменена, см. Снимок экрана:
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!






























