Ibland behöver du skicka din Excel-arbetsbok ut i världen med specifika kalkylblad skyddade. Om du upptäcker att du ständigt skyddar och avskyddar ark innan du distribuerar dina arbetsböcker, kan makrot här hjälpa dig.
Hur makrot fungerar
Koden utlöses av arbetsbokens BeforeClose-händelse. När du försöker stänga arbetsboken utlöses den här händelsen och kör koden inom. Makrot skyddar automatiskt det angivna arket med det angivna lösenordet och sparar sedan arbetsboken:
Privat underarbetsbok_BeforeClose(Avbryt som boolesk)
'Steg 1: Skydda arket med ett lösenord
Sheets("Sheet1"). Skydda lösenord:="RED"
'Steg 2: Spara arbetsboken
ActiveWorkbook.Save
Avsluta Sub
I steg 1 anger du uttryckligen vilket blad som ska skyddas — Blad1, i det här fallet. Du anger också lösenordsargumentet, Password:=”RED”, som definierar lösenordet som behövs för att ta bort skyddet.
Detta lösenordsargument är valfritt. Om du utelämnar det kommer arket fortfarande att vara skyddat, men du behöver inget lösenord för att ta bort skyddet.
Excel-lösenord är skiftlägeskänsliga, så du bör vara uppmärksam på det exakta lösenordet och versaler som du använder.
Steg 2 säger åt Excel att spara arbetsboken. Om du inte sparar arbetsboken kommer det arkskydd du precis har tillämpat inte att gälla nästa gång arbetsboken öppnas.
Hur man använder makrot
För att implementera detta makro måste du kopiera och klistra in det i Workbook_BeforeClose-händelsekodfönstret. Om du placerar makrot här kan det köras varje gång du försöker stänga arbetsboken:
Aktivera Visual Basic Editor genom att trycka på Alt+F11.
I projektfönstret hittar du ditt projekt-/arbetsboksnamn och klickar på plustecknet bredvid för att se alla ark.
Klicka på ThisWorkbook.
I listrutan Händelse väljer du händelsen BeforeClose.
Skriv eller klistra in koden i den nyskapade modulen, ändra arknamnet (om nödvändigt) och lösenordet.
Ange din kod i händelsen Workbook BeforeClose.
Observera att du kan skydda ytterligare ark genom att lägga till tilläggssatser före Activeworkbook.Save-satsen.