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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!






























