Néha el kell küldenie az Excel-munkafüzetet a világnak bizonyos védett munkalapokkal. Ha úgy találja, hogy a munkafüzetek szétosztása előtt folyamatosan védi és megszünteti a lapok védelmét, az itt található makró segíthet.
Hogyan működik a makró
A kódot a munkafüzet BeforeClose eseménye váltja ki. Amikor megpróbálja bezárni a munkafüzetet, ez az esemény aktiválódik, és lefut a benne lévő kód. A makró a megadott jelszóval automatikusan védi a megadott lapot, majd elmenti a munkafüzetet:
Privát almunkafüzet_BeforeClose (Mégse logikai értékként)
„1. lépés: Védje meg a lapot jelszóval
Sheets("1. lap"). Jelszó védelme:="PIROS"
'2. lépés: Mentse el a munkafüzetet
ActiveWorkbook.Save
Vége Sub
Az 1. lépésben kifejezetten megadja, hogy melyik lapot kell védeni – ebben az esetben az 1. munkalapot. Meg kell adni a jelszó argumentumot is, a Password:=”RED”, amely meghatározza a védelem eltávolításához szükséges jelszót.
Ez a jelszó argumentum nem kötelező. Ha kihagyja, a lap továbbra is védett lesz, de nem kell jelszó a védelem feloldásához.
Az Excel jelszavak megkülönböztetik a kis- és nagybetűket, ezért érdemes odafigyelni a használt jelszóra és a nagybetűkre.
A 2. lépés felszólítja az Excelt, hogy mentse a munkafüzetet. Ha nem menti a munkafüzetet, az imént alkalmazott lapvédelem nem lesz érvényben a munkafüzet következő megnyitásakor.
Hogyan kell használni a makrót
A makró megvalósításához másolja és illessze be a Workbook_BeforeClose eseménykód ablakba. Ha ide helyezi a makrót, akkor minden alkalommal lefut, amikor megpróbálja bezárni a munkafüzetet:
Aktiválja a Visual Basic Editort az Alt+F11 megnyomásával.
A projekt ablakban keresse meg a projekt/munkafüzet nevét, és kattintson a mellette lévő pluszjelre az összes lap megtekintéséhez.
Kattintson erre a munkafüzetre.
Az Esemény legördülő listában válassza ki a BeforeClose eseményt.
Írja be vagy illessze be a kódot az újonnan létrehozott modulba, módosítsa a lap nevét (ha szükséges) és a jelszót.

Írja be a kódot a Workbook BeforeClose eseménybe.
Vegye figyelembe, hogy további munkalapokat is megvédhet, ha az Activeworkbook.Save utasítás elé add hozzá az utasításokat.