Excel VBA-beskyttelsesark

Beskyttelse af et regneark er en vigtig opgave for dem, der ofte arbejder på Microsoft Excel. Det er en opgave, du har brug for at beskytte dit ark mod at blive redigeret af en anden bruger. Antag, at du sender en rapport til ledelsen, og derefter ændrer ledelsen bevidst eller ved en fejl parametre eller værdier gennem rapporten. Det bliver hektisk at identificere fejlen samtidigt som omarbejdet er noget, der bruger din tid. For at overvinde dette problem er det altid en god praksis at beskytte et ark / r for at blive redigeret ved hjælp af en adgangskode. Denne mulighed hjælper dig ved ikke at tillade en bruger at foretage ændringer inden for arket. Du kan også dele adgangskoden med den person, der er beregnet såvel som autoriseret til at foretage ændringerne. Skønt Excel har indstillingen Beskyt regneark inden for det gennem fanen Gennemgang, der findes i Excel-båndet, bliver det hektisk, når du har mere end et ark at beskytte. Det vil forbruge rigeligt af din tid med at beskytte hvert ark en efter en. I stedet er det en god praksis at skrive en VBA-kode, der kan beskytte enten enkelt eller flere ark fra din projektmappe til redigering.

Syntaks for VBA Protect Sheet

Denne indbyggede VBA-funktion, der er knyttet til regneark, giver dig mulighed for at beskytte arket ved hjælp af adgangskode. Syntaks for VBA Protect Sheet-funktion er som nedenfor:

Alle parametre er valgfri i denne funktion, som du kan gætte gennem de firkantede parenteser, der er nævnt for hver af dem.

  • Adgangskode: Specificerer adgangskode til arket. Hvis det ikke leveres, vil arket blive beskyttet uden en adgangskode, og brugeren kan redigere det uden at blive bedt om et kodeord.
  • DrawingObjects: Valgfrie argumenter, der giver dig mulighed for at beskytte forskellige former på regnearket. Tar booleske værdier. Som standard er indstillet til FALSE.
  • Indhold: Valgfrit argument. Beskytter alle objekter. Som standard er værdier indstillet til SAND.
  • Scenarier: Beskytter alle forskellige scenarier. Standardværdien er sat til SAND.
  • UserInterfaceOnly: Det beskytter brugergrænsefladen, men ikke makroerne. Standardværdien er SAND, hvis makroen ignoreres, samt brugergrænsefladen vil være beskyttet.
  • AllowFormattingCells: Standardværdien er indstillet til FALSE, på grund af hvilken bruger ikke kan formatere cellerne på arket. Hvis indstillet SAND, kan brugeren formatere cellerne fra arket.
  • AllowInsertingColonner: Standardværdi indstillet til FALSE. Hvis indstillet SAND, kan brugeren indsætte en kolonne i arket.
  • AllowInsertingRows: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren indsætte rækker i arket.
  • AllowInsertingHyperlinks: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren indsætte hyperlinks på arket.
  • AllowDeletingColumns: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren slette enhver kolonne fra arket.
  • AllowDeletingRows: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren slette et vilkårligt antal rækker fra arket.
  • AllowSorting: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren sortere de data, der findes på arket.
  • AllowFiltering: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren filtrere de data, der findes på arket.
  • AllowUsingPivotTables: Standardværdien er indstillet til FALSE. Hvis indstillet SAND, kan brugeren bruge og ændre pivottabellerne.

Sådan beskyttes ark i Excel VBA?

Nedenfor er de forskellige eksempler til beskyttelse af ark i Excel ved hjælp af VBA Protect.

Du kan downloade denne VBA Protect Sheet Excel Template her - VBA Protect Sheet Excel Template

VBA Protect Sheet - Eksempel # 1

Antag, at vi har et ark, der hedder “Eksempel 1” i en projektmappe, der hedder “VBA Protect Sheet”. Vi ønsker, at dette ark skal beskyttes med en adgangskode. Følg nedenstående trin for dette:

Trin 1: Indsæt et nyt modul i Visual Basic Editor (VBE). Klik på Indsæt > vælg Modul .

Trin 2: Definer en ny underprocedure i modulet.

Kode:

 Undereksempel_1 () Slut sub 

Trin 3: Nu skal vi bruge beskyttelsesfunktionen, der kan anvendes på et objekt kaldet Arbejdsark. Start koden med Worksheets- objekt, og skriv navnet på et regneark inden for parenteser, som du vil være beskyttet.

Kode:

 Undereksempel_1 () Arbejdsark ("Eksempel 1") Afslut und 

Trin 4: Sæt nu en prik efter lukning af parenteser og brug Beskyt nøgleord, der starter processen med at beskytte arket kaldet “ Eksempel 1 ”.

Kode:

 Undereksempel_1 () Arbejdsark ("Eksempel 1"). Beskyt slutund 

Du kan stoppe her, mens du beskytter et ark. Da alle argumenter er valgfri, vil dit ark stadig være beskyttet, men beder ikke brugeren om at indtaste adgangskoden før redigering og vil være det samme som et ubeskyttet ark. Du vil bestemt ikke have det på denne måde. Tilføj derfor en stærk adgangskode for at beskytte dette ark i det næste trin.

Trin 5: Indtast adgangskodeord og brug en stærk adgangskode til at beskytte dette ark.

Kode:

 Undereksempel_1 () Arbejdsark ("Eksempel 1"). Beskyt adgangskode: = " " Slut sub 

Vi bruger kun det første argument for funktionen, der kaldes Password, og til hvile vil alle argumenter gå med standardværdierne.

Trin 6: Dette er det, du kan køre denne kode ved at trykke på F5 eller Run-knappen og se, at filen nu er beskyttet og vil spørge brugeren om adgangskoden, så snart han / hun prøver at redigere nogen af ​​cellerne.

Sådan beskytter vi et ark ved hjælp af VBA Protect-funktion.

VBA-beskyttelsesark - eksempel # 2

Nu vil vi beskytte alle arkene, der findes i en projektmappe. Følg nedenstående trin for dette:

Trin 1: Definer en delprocedure i modulet.

Kode:

 Undereksempel_2 () Slutundert 

Trin 2: Definer en ny variabel som regneark ved hjælp af Dim.

Kode:

 Undereksempel_2 () Dim wrk_sht Som regnearkets slutunderdel 

Trin 3: Start en For-loop. Denne loop skal køre indtil det sidste arbejdsark i Active Workbook.

Kode:

 Undereksempel_2 () Dim wrk_sht som regneark for hvert wrk_sht i ActiveWorkbook.Worksheets End Sub 

Denne kodelinie vælger hvert regneark i den aktive projektmappe og gemmer det under variabel wrk_sht for hver iteration af løkken. Sløjfe slutter, så snart det sidste ark i projektmappen er valgt og gemt i variablen wrk_sht. Vi er nødt til at definere en operation for denne løkke. Det vil helt sikkert beskytte arket ved hjælp af en adgangskode.

Trin 4: Brug nu Protect-funktionen til at beskytte arkene, der bliver gemt under wrk_sht- variablen for hver iteration af For loop.

Kode:

 Undereksempel_2 () Dim wrk_sht som regneark for hvert wrk_sht i ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " protection " End Sub 

Trin 5: Brug næste sætning, det giver løkken mulighed for at køre, indtil hvert regneark bliver beskyttet.

Kode:

 Undereksempel_2 () Dim wrk_sht som regneark for hver wrk_sht i ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " protection " Next End Sub 

Hvis du kører denne kode, vil hvert regneark i den aktive projektmappe være beskyttet med adgangskode, og du skal indtaste den hver gang du vil redigere arkene.

Ting at huske

  • Det anbefales at bruge en adgangskode, mens du beskytter et ark. Ellers bliver brugeren ikke bedt om at indtaste en adgangskode og kan direkte redigere filen, selvom du har beskyttet den.
  • Det anbefales at huske adgangskoden. Ellers vil glemme af det samme aldrig nogensinde give dig mulighed for at redigere filen. Du skal muligvis gennemgå de forskellige metoder, hvis du mister adgangskoden, og disse metoder er uden for denne artikels rækkevidde.

Anbefalede artikler

Dette er en guide til VBA Protect Sheet. Her diskuterer vi, hvordan man beskytter eller låser ark ved hjælp af VBA Protect-funktion i Excel sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Sådan omdøbes ark i Excel VBA?
  2. Trin til at fjerne beskyttelsen af ​​ark i Excel
  3. VBA-aktiveringsark (eksempler med Excel-skabelon)
  4. Sådan kopieres et Excel-ark?

Kategori: