Jak chránit buňky na základě data v aplikaci Excel?
Normálně můžeme list chránit, abychom ostatním zabránili v úpravách nebo úpravách hodnot buněk, ale někdy musíte buňky chránit na základě data. Například chci chránit další buňky, ale povolit pouze úpravu hodnot buněk dnešního data, jak ukazuje následující snímek obrazovky, tento článek bude hovořit o tom, jak chránit buňky na základě data.
Chraňte všechny řádky kromě dnešního řádku s datem pomocí kódu VBA
Chraňte všechny řádky, které datum uplynulo, kódem VBA
Chraňte všechny řádky kromě dnešního řádku s datem pomocí kódu VBA
Povolte pouze úpravu řádku, který se rovná dnešnímu datu, následující kód vám může pomoci, postupujte takto:
1. Klikněte pravým tlačítkem na kartu listu, kterou chcete chránit buňky na základě data, a poté vyberte Zobrazit kód z kontextové nabídky ve vyskakovacím okně Microsoft Visual Basic pro aplikace zkopírujte a vložte následující kód do prázdného modulu:
Kód VBA: Chraňte všechny řádky kromě dnešního řádku s datem:
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
Poznámka: Ve výše uvedeném kódu písmeno E je záhlaví sloupce, kde se nachází datum, “111111„Je heslo k ochraně tohoto listu. Můžete je podle potřeby změnit.
2. Poté uložte a zavřete toto okno s kódem.
(1.) Pokud kliknete na jiné buňky za dnešním datovým řádkem, objeví se okno s výzvou, které vám připomene, že buňku nelze upravit, viz screenshot:
(2.) Pokud kliknete a upravíte řádek, který se rovná dnešnímu datu, bude úspěšně změněn, viz screenshot:
Chraňte všechny řádky, které datum uplynulo, kódem VBA
Pokud potřebujete chránit všechny řádky, které datum uplynulo, povolte úpravy pouze dnešních a budoucích řádků data, použijte následující kód VBA:
1. Klikněte pravým tlačítkem na kartu listu, kterou chcete chránit buňky na základě data, a poté vyberte Zobrazit kód z kontextové nabídky ve vyskakovacím okně Microsoft Visual Basic pro aplikace zkopírujte a vložte následující kód do prázdného modulu:
Kód VBA: Chraňte všechny řádky, datum vypršelo:
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
Poznámka: Ve výše uvedeném kódu číslo 5 je číslo sloupce, kde se nachází datum, “111111„Je heslo k ochraně tohoto listu. Můžete je podle potřeby změnit.
3. Poté uložte a zavřete toto okno s kódem.
(1.) Pokud kliknete na datum, které uplynulo, zobrazí se okno s výzvou, které vám připomene, že buňku nelze upravit, viz screenshot:
(2.) Pokud kliknete na buňku řádků a pokusíte se změnit hodnoty v dnešním nebo budoucím datu, bude úspěšně změněna, viz screenshot:
Nejlepší kancelářské nástroje produktivity
Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%
- Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
- Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
- Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
- Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
- Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
- Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
- Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
- Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
- Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!






























