Včasih morate svoj delovni zvezek Excel poslati v svet z zaščitenimi določenimi delovnimi listi. Če ugotovite, da pred distribucijo delovnih zvezkov nenehno ščitite in odstranjujete zaščito listov, vam lahko pomaga makro tukaj.
Kako deluje makro
Kodo sproži dogodek BeforeClose delovnega zvezka. Ko poskusite zapreti delovni zvezek, se ta dogodek sproži in zažene kodo znotraj. Makro samodejno zaščiti določen list z danim geslom in nato shrani delovni zvezek:
Private Sub Workbook_BeforeClose(Prekliči kot Boolean)
1. korak: Zaščitite list z geslom
Sheets("Sheet1").Zaščitno geslo:="RED"
2. korak: Shranite delovni zvezek
ActiveWorkbook.Save
Končni sub
V 1. koraku izrecno določite, kateri list želite zaščititi – v tem primeru List1. Navedete tudi argument gesla Password:=»RED«, ki definira geslo, potrebno za odstranitev zaščite.
Ta argument gesla ni obvezen. Če ga izpustite, bo list še vedno zaščiten, vendar za odstranitev zaščite ne boste potrebovali gesla.
Gesla v Excelu razlikujejo med velikimi in malimi črkami, zato bodite pozorni na natančno geslo in velike črke, ki jih uporabljate.
2. korak pove Excelu, naj shrani delovni zvezek. Če delovnega zvezka ne shranite, zaščita lista, ki ste jo pravkar uporabili, ne bo veljala, ko naslednjič odprete delovni zvezek.
Kako uporabljati makro
Za implementacijo tega makra ga morate kopirati in prilepiti v okno kode dogodka Workbook_BeforeClose. Če tukaj postavite makro, se lahko zažene vsakič, ko poskusite zapreti delovni zvezek:
Aktivirajte urejevalnik Visual Basic s pritiskom na Alt+F11.
V oknu projekta poiščite ime svojega projekta/delovnega zvezka in kliknite znak plus poleg njega, da si ogledate vse liste.
Kliknite Ta delovni zvezek.
Na spustnem seznamu Dogodek izberite dogodek Pred zapiranjem.
V novo ustvarjeni modul vnesite ali prilepite kodo, pri čemer spremenite ime lista (če je potrebno) in geslo.
Vnesite svojo kodo v dogodek Workbook BeforeClose.
Upoštevajte, da lahko dodatne liste zaščitite tako, da dodate stavke za dodajanje pred stavkom Activeworkbook.Save.