De vegades, heu d'enviar el vostre quadern d'Excel al món amb fulls de treball específics protegits. Si trobeu que esteu protegint i desprotegit constantment els fulls abans de distribuir els vostres llibres de treball, la macro aquí us pot ajudar.
Com funciona la macro
El codi s'activa per l'esdeveniment BeforeClose del llibre de treball. Quan intenteu tancar el llibre de treball, aquest esdeveniment s'activa i executa el codi. La macro protegeix automàticament el full especificat amb la contrasenya proporcionada i després desa el llibre de treball:
Private Sub Workbook_BeforeClose (Cancel·la com a booleà)
"Pas 1: protegiu el full amb una contrasenya
Fulls("Full1"). Protegeix la contrasenya:="VERMELL"
"Pas 2: deseu el llibre de treball
ActiveWorkbook.Desa
End Sub
Al pas 1, esteu especificant de manera explícita quin full voleu protegir: Sheet1, en aquest cas. També proporcioneu l'argument de la contrasenya, Password:="RED", que defineix la contrasenya necessària per eliminar la protecció.
Aquest argument de contrasenya és opcional. Si l'ometeu, el full encara estarà protegit, però no necessitareu cap contrasenya per desprotegir-lo.
Les contrasenyes d'Excel distingeixen entre majúscules i minúscules, de manera que voldreu parar atenció a la contrasenya exacta i a les majúscules que utilitzeu.
El pas 2 indica a Excel que desi el llibre de treball. Si no deseu el llibre de treball, la protecció del full que acabeu d'aplicar no estarà en vigor la propera vegada que s'obri el llibre de treball.
Com utilitzar la macro
Per implementar aquesta macro, heu de copiar-la i enganxar-la a la finestra del codi d'esdeveniment Workbook_BeforeClose. Col·locar la macro aquí permet que s'executi cada vegada que intenteu tancar el llibre de treball:
Activeu Visual Basic Editor prement Alt+F11.
A la finestra del projecte, cerqueu el nom del vostre projecte/llibre de treball i feu clic al signe més que hi ha al costat per veure tots els fulls.
Feu clic a Aquest llibre de treball.
A la llista desplegable Esdeveniment, seleccioneu l'esdeveniment Abans de tancar.
Escriviu o enganxeu el codi al mòdul de nova creació, modificant el nom del full (si cal) i la contrasenya.
Introduïu el vostre codi a l'esdeveniment Workbook BeforeClose.
Tingueu en compte que podeu protegir fulls addicionals afegint declaracions d'addició abans de la instrucció Activeworkbook.Save.