Jak chronić komórki na podstawie daty w programie Excel?
Zwykle możemy chronić arkusz roboczy, aby uniemożliwić innym edytowanie lub modyfikowanie wartości komórek, ale czasami trzeba chronić komórki na podstawie daty. Na przykład chcę chronić inne komórki, ale zezwalam na modyfikację tylko wartości komórek z dzisiejszej daty, jak pokazano na poniższym zrzucie ekranu, w tym artykule omówimy, jak chronić komórki na podstawie daty.
Chroń wszystkie wiersze z wyjątkiem dzisiejszego wiersza z kodem VBA
Chroń wszystkie wiersze, które minęły, za pomocą kodu VBA
Chroń wszystkie wiersze z wyjątkiem dzisiejszego wiersza z kodem VBA
Zezwalaj na modyfikację tylko wiersza odpowiadającego dzisiejszej dacie, poniższy kod może ci pomóc, wykonaj następujące czynności:
1. Kliknij prawym przyciskiem myszy kartę arkusza, którą chcesz chronić komórki na podstawie daty, a następnie wybierz Wyświetl kod z menu kontekstowego w wyskakującym pliku Microsoft Visual Basic for Applications w oknie, skopiuj i wklej następujący kod do pustego modułu:
Kod VBA: chroń wszystkie wiersze z wyjątkiem dzisiejszego wiersza daty:
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
Uwagi: W powyższym kodzie litera E to nagłówek kolumny, w której znajduje się data, „111111”To hasło chroniące ten arkusz. Możesz je zmienić według swoich potrzeb.
2. Następnie zapisz i zamknij to okno kodu.
(1.) Jeśli klikniesz inne komórki poza dzisiejszym wierszem daty, pojawi się okienko z przypomnieniem, że komórki nie można edytować, patrz zrzut ekranu:
(2.) Jeśli klikniesz i edytujesz wiersz z dzisiejszą datą, zostanie on pomyślnie zmodyfikowany, patrz zrzut ekranu:
Chroń wszystkie wiersze, które minęły, za pomocą kodu VBA
Jeśli chcesz chronić wszystkie wiersze, w których minęła data, zezwalaj na modyfikację tylko wierszy z datą dzisiejszą i przyszłą, zastosuj następujący kod VBA:
1. Kliknij prawym przyciskiem myszy kartę arkusza, którą chcesz chronić komórki na podstawie daty, a następnie wybierz Wyświetl kod z menu kontekstowego w wyskakującym pliku Microsoft Visual Basic for Applications w oknie, skopiuj i wklej następujący kod do pustego modułu:
Kod VBA: Chroń wszystkie wiersze, data minęła:
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
Uwagi: W powyższym kodzie numer 5 to numer kolumny, w której znajduje się data, „111111”To hasło chroniące ten arkusz. Możesz je zmienić według swoich potrzeb.
3. Następnie zapisz i zamknij to okno kodu.
(1.) Jeśli klikniesz datę komórki, która minęła, pojawi się okienko z przypomnieniem, że komórki nie można edytować, patrz zrzut ekranu:
(2.) Jeśli klikniesz komórkę wierszy, aby spróbować zmienić wartości w dzisiejszej lub przyszłej dacie, zostanie ona pomyślnie zmodyfikowana, patrz zrzut ekranu:
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!






























