VBA-skyddsark - Lösenordsskydda Excel-ark med VBA

Innehållsförteckning

Excel VBA-skyddsark

Vi kan skydda excel-arket med 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 ett lösenord, och en annan är utan lösenord, syntaxen för att skydda ett kalkylblad är som följer 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

Skyddsarket innefattar olika parametrar att leverera. Detta skiljer sig från att avskydda 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 ett lösenord, och medan du skyddar arket, kommer det att skydda utan att fråga om något lösenord.
  • Obs! Kom ihåg lösenordet du ger, för om du har glömt det 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 innehållet i kalkylbladet, ställ in parametern som SANT eller annars FALSKT. 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 på SANT eller annars FALSKT. Standardvärdet är FALSE.
  • Tillåt formateringskolumner: Om du vill tillåta användaren att formatera vilken kolumn som helst 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 valfri rad i det skyddade arket kan du ställa in parametern på SANT eller annars FALSKT. Standardvärdet är FALSE.
  • Tillåt Infoga kolumner i VBA: du vill tillåta användaren att infoga nya kolumner, då 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?

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-kalkylarkobjektet.

Antag till exempel att du vill skydda arket med namnet "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. Detta 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 "Master Sheet." Genom att använda denna variabel kan vi komma åt IntelliSense-listan.

Steg 4: Välj Skydda metod

Välj "Protect" -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 följer 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.

Intressanta artiklar...