VBA-beskyttelsesark - Password Protect Excel Sheet ved hjælp af VBA

Indholdsfortegnelse

Excel VBA-beskyttelsesark

Vi kan beskytte excel-arket ved hjælp af vba-kode, som ikke tillader brugeren at foretage ændringer i regnearkdataene, alt hvad de kan gøre er bare at læse rapporten. Til dette har vi en indbygget vba-metode kaldet “Protect”.

Ligesom vi beskytter vores regneark i excel på samme måde kan vi bruge VBA til at beskytte vores regneark. Det gøres ved hjælp af en .protect-erklæring, der er to metoder til at beskytte ark, den ene er med en adgangskode, og en anden er uden adgangskode, syntaksen for at beskytte et regneark er som følger Arbejdsark (). Beskyt adgangskode.

Vi deler normalt den endelige slutrapport med brugeren eller læseren. Når vi deler den endelige slutrapport med brugeren, ønsker vi, at brugeren ikke foretager nogen ændringer eller manipulerer slutrapporten. I et sådant scenario handler det kun om tillid, ikke sandt?

Syntaks

Beskyttelsesarket involverer forskellige parametre, der skal leveres. Dette er i modsætning til Fjernelse af beskyttelse af arket. Lad os se på syntaksen for Protect-metoden med en adgangskode.

Wow !!! Bliv ikke skræmt ved at se på syntaksen. Se forklaringen på hvert argument nedenfor.

  • Arbejdsarknavn: Først skal vi nævne, hvilket regneark vi skal beskytte.
  • Adgangskode: Vi skal indtaste den adgangskode, vi bruger for at beskytte. Hvis vi ignorerer denne parameter, excel vil låse arket uden en adgangskode, og mens du beskytter arket, vil det ikke beskytte uden at bede om noget kodeord.
  • Bemærk: Husk den adgangskode, du giver, for hvis du har glemt det, skal du gennemgå forskellige hårde måder.
  • Tegneobjekt: Hvis du ønsker at beskytte objekter i regnearket, kan du sende argumentet som SAND eller ellers FALSK. Standardværdien er SAND.
  • Indhold: For at beskytte indholdet af regnearket skal du indstille parameteren som SAND eller ellers FALSK. Standardværdien er FALSK. Dette beskytter kun låste celler. Standardværdien er SAND.
  • Scenarier: Hvis der er nogen hvad-hvis-analyse i excel-scenarier, kan vi også beskytte dem. For at beskytte SANDT ellers FALSK. Standardværdien er SAND.
  • Kun brugergrænseflade: Hvis du vil beskytte anden brugergrænseflade end makro, skal den være SAND. Hvis dette argument udelades, beskytter det både makroer og brugergrænseflade. Hvis du indstiller argumentet til SAND, beskytter det kun brugergrænsefladen. Standardværdien er FALSK.
  • Tillad formatering af celler: Hvis du vil tillade brugeren at formatere cellen, kan du indstille parameteren til SAND ellers FALSK. Standardværdien er FALSK.
  • Tillad formateringskolonner: Hvis du vil tillade brugeren at formatere en hvilken som helst kolonne i det beskyttede ark, kan du indstille parameteren til SAND eller ellers FALSK. Standardværdien er FALSK.
  • Tillad formateringsrækker: Hvis du vil tillade brugeren at formatere en række i det beskyttede ark, kan du indstille parameteren til SAND eller ellers FALSK. Standardværdien er FALSK.
  • Tillad Indsæt kolonner i VBA: du vil tillade brugeren at indsætte nye kolonner, så skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad indsæt rækker: Hvis du vil tillade brugeren at indsætte nye rækker, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad indsæt hyperlinks: Hvis du vil tillade brugeren at indsætte hyperlinks, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad sletning af kolonner: Hvis du vil tillade brugeren at slette kolonner i VBA, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad sletning af rækker: Hvis du vil tillade brugeren at slette rækker, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad sortering: Hvis du vil tillade brugeren at sortere dataene, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad filtrering: Hvis du vil tillade brugeren at filtrere dataene, skal du indstille dette til SAND. Standardværdien er FALSK.
  • Tillad brug af drejetabeller: Hvis du vil tillade brugeren at bruge drejetabeller, skal du indstille dette til SAND. Standardværdien er FALSK.

Hvordan beskyttes ark ved hjælp af VBA-kode?

Trin 1: Vælg ark, der skal beskyttes

For at beskytte arket er det første trin at beslutte, hvilket ark vi skal beskytte ved hjælp af en adgangskode, og vi skal kalde arket med dets navn ved hjælp af VBA-regnearkobjektet.

Antag for eksempel, at du vil beskytte arket med navnet “Master Sheet”, så skal du nævne regnearknavnet som nedenfor.

Trin 2: Definer regnearkvariabel

Efter at have nævnt regnearkets navn skal du sætte en prik, men vi kan ikke se nogen IntelliSense-liste at arbejde med. Dette gør jobbet vanskeligt. For at få adgang til IntelliSense-listen defineres variablen som et regneark.

Kode:

Sub Protect_Example1 () Dim Ws Som regneark End Sub

Trin 3: Giv arbejdsarkhenvisning

Indstil nu regnearkreferencen til variablen som regneark (“Master Sheet”) .

Kode:

Sub Protect_Example1 () Dim Ws Som Worksheet Set Ws = Worksheets ("Master Sheet") Afslut Sub

Nu indeholder variablen "Ws" referencen for regnearket med navnet "Master Sheet." Ved at bruge denne variabel kan vi få adgang til IntelliSense-listen.

Trin 4: Vælg Beskyt metode

Vælg "Protect" -metoden fra IntelliSense-listen.

Trin 5: Indtast adgangskode

Angiv adgangskoden i dobbelt anførselstegn.

Kode:

Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub

Trin 6: Kør koden

Kør koden manuelt eller ved hjælp af genvejstasten F5, så beskytter den arket navngivet som "Master Sheet."

Når arket er beskyttet, hvis vi ønsker at foretage en ændring, viser det en fejlmeddelelse som vist nedenfor.

Hvis du ønsker at beskytte mere end et ark, skal vi bruge løkker. Nedenfor er eksempelkoden for at beskytte arket.

Sub Protect_Example2 () Dim Ws som regneark for hver Ws i ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Næste Ws End Sub

Bemærk: Brug andre parametre til at eksperimentere.

Interessante artikler...