VBA Protect Sheet

Excel VBA-skyddsark

Vi kan skydda excel-arket med hjälp av vba-kod som inte tillåter användaren att göra några ändringar i kalkylbladets data, allt de kan göra är att bara läsa rapporten. För detta har vi en inbyggd vba-metod som heter “Protect”.

Precis som vi skyddar våra kalkylblad i excel på samma sätt kan vi använda VBA för att skydda våra kalkylblad, det görs med hjälp av ett .protect-uttalande, det finns två metoder för att skydda ark en är med lösenord och en annan är utan lösenord, syntaxen för att skydda ett kalkylblad är följande Kalkylblad (). Skydda lösenord.

Vi delar vanligtvis den slutliga slutrapporten med användaren eller läsaren. När vi delar den slutliga slutrapporten med användaren önskar vi att användaren inte gör några ändringar eller manipulerar slutrapporten. I ett sådant scenario handlar det bara om förtroende, eller hur?

Syntax

Skyddsark innefattar olika parametrar för att leverera detta skiljer sig från att skydda arket. Låt oss titta på syntaxen för Protect-metoden med ett lösenord.

Wow!!! Låt dig inte skrämmas genom att titta på syntaxen. Ta en titt på förklaringen av varje argument nedan.

  • Kalkylbladets namn: Först måste vi nämna vilket kalkylblad vi ska skydda.
  • Lösenord: Vi måste ange lösenordet vi använder för att skydda. Om vi ​​ignorerar den här parametern kommer excel att låsa arket utan lösenord och medan du avskyddar arket kommer det att skyddas utan att fråga något lösenord.
  • Obs! Kom ihåg lösenordet du ger, för om du har glömt måste du gå igenom olika hårda vägar.
  • Ritningsobjekt: Om du vill skydda objekt i kalkylbladet kan du skicka argumentet som SANT eller annars FALSKT. Standardvärdet är SANT.
  • Innehåll: För att skydda kalkylbladets innehåll, ställ in parametern som SANT eller annars FALSK. Standardvärdet är FALSE. Detta skyddar endast låsta celler. Standardvärdet är SANT.
  • Scenarier: Om det finns någon vad-om-analys i excel-scenarier kan vi också skydda dem. För att skydda SANT eller annars FALSKT. Standardvärdet är SANT.
  • Endast användargränssnitt: Om du vill skydda användargränssnittet annat än makro ska det vara SANT. Om detta argument utelämnas skyddar det både makron och användargränssnittet. Om du ställer in argumentet på SANT skyddar det endast användargränssnittet. Standardvärdet är FALSE.
  • Tillåt formateringsceller: Om du vill tillåta användaren att formatera cellen kan du ställa in parametern till SANT eller annars FALSKT. Standardvärdet är FALSE.
  • Tillåt formateringskolumner: Om du vill tillåta användaren att formatera en kolumn i det skyddade arket kan du ställa in parametern till SANT eller annars FALSK. Standardvärdet är FALSE.
  • Tillåt formateringsrader: Om du vill tillåta användaren att formatera en rad i det skyddade arket kan du ställa in parametern till SANT eller annars FALSKT. Standardvärdet är FALSE.
  • Tillåt Infoga kolumner i VBA: du vill tillåta användaren att infoga nya kolumner måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt infoga rader: Om du vill tillåta användaren att infoga nya rader måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt infoga hyperlänkar : Om du vill tillåta användaren att infoga hyperlänkar måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt radering av kolumner: Om du vill tillåta användaren att radera kolumner i VBA måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt radering av rader: Om du vill tillåta användaren att radera rader måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt sortering: Om du vill tillåta användaren att sortera data måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt filtrering: Om du vill tillåta användaren att filtrera data måste du ställa in detta till SANT. Standardvärdet är FALSE.
  • Tillåt användning av pivottabeller: Om du vill tillåta användaren att använda pivottabeller måste du ställa in detta till SANT. Standardvärdet är FALSE.

Hur skyddar jag ark med VBA-kod?

Du kan ladda ner den här VBA Protect Sheet Excel-mallen här - VBA Protect Sheet Excel-mall

Steg 1: Välj ark som behöver skyddas

För att skydda arket är det första steget att bestämma vilket ark vi behöver skydda med ett lösenord och vi måste anropa arket med dess namn med hjälp av vba kalkylarkobjekt.

Antag till exempel att du vill skydda arket som heter "Master Sheet" så måste du nämna kalkylbladets namn som nedan.

Steg 2: Definiera variabel för arbetsblad

Efter att ha nämnt kalkylbladets namn sätt en punkt, men vi ser ingen IntelliSense-lista att arbeta med, det gör jobbet svårt. För att få tillgång till IntelliSense-listan definieras variabeln som ett kalkylblad.

Koda:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Steg 3: Ge arbetsbladshänvisning

Ställ nu in kalkylbladets referens till variabeln som Kalkylblad ("Master Sheet") .

Koda:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub 

Nu innehåller variabeln "Ws" referensen för kalkylbladet som heter "Master Sheet". Genom att använda denna variabel kan vi komma åt intellisense-listan.

Steg 4: Välj Skydda metod

Välj "Skydda" -metoden från IntelliSense-listan.

Steg 5: Ange lösenord

Ange lösenordet i dubbla citat.

Koda:

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

Steg 6: Kör koden

Kör koden manuellt eller använd snabbtangenten F5, då skyddar den arket som heter "Master Sheet" .

När arket är skyddat, om vi vill göra någon ändring, visar det något felmeddelande som visas nedan.

Om du vill skydda mer än ett ark måste vi använda öglor, nedan är exempelkoden för att skydda arket.

 Sub Protect_Example2 () Dim Ws som kalkylblad för varje Ws i ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Nästa Ws End Sub 

Obs: Använd andra parametrar för att experimentera.