Nogle gange har du brug for at sende din Excel-projektmappe ud i verden med specifikke arbejdsark beskyttet. Hvis du opdager, at du konstant beskytter og fjerner beskyttelsen af ark, før du distribuerer dine projektmapper, kan makroen her hjælpe dig.
Sådan fungerer makroen
Koden udløses af projektmappens BeforeClose-hændelse. Når du forsøger at lukke projektmappen, udløses denne hændelse og kører koden indeni. Makroen beskytter automatisk det angivne ark med den givne adgangskode og gemmer derefter projektmappen:
Privat underarbejdsbog_BeforeClose(Annuller som boolesk)
Trin 1: Beskyt arket med en adgangskode
Sheets("Sheet1"). Beskyt adgangskode:="RED"
Trin 2: Gem projektmappen
ActiveWorkbook.Save
Slut Sub
I trin 1 angiver du eksplicit, hvilket ark der skal beskyttes - Ark1, i dette tilfælde. Du angiver også adgangskodeargumentet Password:=”RED”, som definerer den adgangskode, der er nødvendig for at fjerne beskyttelsen.
Dette password-argument er valgfrit. Hvis du udelader det, vil arket stadig være beskyttet, men du behøver ikke en adgangskode for at fjerne beskyttelsen.
Excel-adgangskoder skelner mellem store og små bogstaver, så du skal være opmærksom på den nøjagtige adgangskode og store bogstaver, du bruger.
Trin 2 fortæller Excel at gemme projektmappen. Hvis du ikke gemmer projektmappen, vil den arkbeskyttelse, du lige har anvendt, ikke være i kraft, næste gang projektmappen åbnes.
Sådan bruger du makroen
For at implementere denne makro skal du kopiere og indsætte den i vinduet Workbook_BeforeClose begivenhedskode. Ved at placere makroen her kan den køre hver gang du prøver at lukke projektmappen:
Aktiver Visual Basic Editor ved at trykke på Alt+F11.
Find dit projekt-/projektmappenavn i projektvinduet og klik på plustegnet ved siden af det for at se alle arkene.
Klik på ThisWorkbook.
På rullelisten Begivenhed skal du vælge begivenheden Før Luk.
Indtast eller indsæt koden i det nyoprettede modul, rediger arknavnet (hvis nødvendigt) og adgangskoden.
Indtast din kode i begivenheden Workbook BeforeClose.
Bemærk, at du kan beskytte yderligere ark ved at tilføje tilføjelsessætninger før Activeworkbook.Save-sætningen.