Niekedy potrebujete poslať excelový zošit do sveta s chránenými konkrétnymi pracovnými hárkami. Ak zistíte, že pred distribúciou zošitov neustále chránite a odstraňujete hárky, tu vám môže pomôcť makro.
Ako funguje makro
Kód sa spúšťa udalosťou BeforeClose zošita. Pri pokuse o zatvorenie zošita sa spustí táto udalosť a spustí sa v ňom kód. Makro automaticky ochráni zadaný hárok daným heslom a potom zošit uloží:
Súkromný podriadený zošit_pred zatvorením (zrušiť ako boolovský)
'Krok 1: Chráňte hárok heslom
Tabuľky("Hárok1").Ochrana hesla:="ČERVENÁ"
„Krok 2: Uložte zošit
ActiveWorkbook.Save
End Sub
V kroku 1 explicitne špecifikujete, ktorý hárok sa má chrániť – v tomto prípade Hárok1. Zadáte aj argument hesla, Password:=”RED”, ktorý definuje heslo potrebné na odstránenie ochrany.
Tento argument hesla je voliteľný. Ak ho vynecháte, hárok bude stále chránený, ale na jeho odblokovanie nebudete potrebovať heslo.
V heslách Excelu sa rozlišujú malé a veľké písmená, takže budete chcieť venovať pozornosť presnému heslu a veľkým a malým písmenám, ktoré používate.
Krok 2 povie Excelu, aby uložil zošit. Ak zošit neuložíte, ochrana hárka, ktorú ste práve použili, nebude účinná pri ďalšom otvorení zošita.
Ako používať makro
Ak chcete implementovať toto makro, musíte ho skopírovať a prilepiť do okna kódu udalosti Workbook_BeforeClose. Umiestnením makra sem umožníte jeho spustenie pri každom pokuse o zatvorenie zošita:
Aktivujte Editor jazyka Visual Basic stlačením Alt+F11.
V okne projektu nájdite názov projektu/zošita a kliknutím na znamienko plus vedľa neho zobrazte všetky hárky.
Kliknite na Tento zošit.
V rozbaľovacom zozname Udalosť vyberte udalosť BeforeClose.
Zadajte alebo prilepte kód do novovytvoreného modulu a upravte názov hárku (ak je to potrebné) a heslo.
Zadajte svoj kód do udalosti Workbook BeforeClose.
Upozorňujeme, že ďalšie hárky môžete ochrániť pridaním príkazov na sčítanie pred príkaz Activeworkbook.Save.