Excel VBA Unprotect Sheet

Vi har ett alternativ i Excel där vi kan skydda våra excelark och filer från att raderas, byta namn på och från att spara data från andra ändringar som inte krävs. Alternativet kallas Protect Sheet and Protect Workbook som finns där i avsnittet Ändringar under menyn Bandgranskning. Vi kan ställa in ett lösenord som vi kan spara det valda arket från alla ändringar som gjorts. Men vad jag säger, detta kan också automatiseras med VBA-kod. Ja, vi kan skapa en kod eller ett makro som vi automatiskt kan låsa arket och arbetsboken. Men den här artikeln handlar om att skydda arket.

Att skydda arket är också en ganska enkel process som att skydda arket. För att avskydda arket måste vi ange lösenordet som vi använde när vi låste det arket. För att avskydda arket behöver vi bara välja namnet på kalkylbladet och den funktion som heter Unprotect . Om det är tillgängligt i VBA, är det bara en kod på en rad. Men om det inte är det, måste vi leta efter något annat sätt att göra det som vi kommer att se i exemplen nedan.

Hur avskyddar du ark i Excel VBA?

Vi kommer att lära dig att avskydda ark i Excel med hjälp av VBA-koden.

Du kan ladda ner denna VBA Unprotect Sheet Excel Mall här - VBA Unprotect Sheet Excel Mall

VBA Unprotect Sheet - Exempel # 1

Först skulle vi se ett enkelt exempel för att avskydda arket. För detta följer du stegen nedan:

Steg 1: Öppna först en modul från menyfliken Infoga som visas nedan.

Steg 2: Skriv nu delproceduren för VBA Unprotect-ark. Eller så kan vi välja vilket annat namn som helst för att definiera det.

Koda:

 Sub VBA_Unprotect () End Sub 

Steg 3: Definiera en variabel som heter Arbetsblad med valfritt namn. Företrädesvis namnet som liknar kalkylblad som ExSheet

Koda:

 Sub VBA_Unprotect () Dim ExSheet As Worksheet End Sub 

Steg 4: Ställ sedan in den definierade kalkylvariabeln med namnet på arket som vi vill avskydda. Här är namnet på det arket Sheet1 .

Koda:

 Sub VBA_Unprotect () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") End Sub 

Steg 5: Tilldela nu Unprotect- funktionen som finns där i VBA- listrutan till kalkylvariabeln ExSheet .

Koda:

 Sub VBA_Unprotect () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect End Sub 

Steg 6: Ge nu lösenordet som vi gav för att låsa det arket. Här är det lösenordet “Open1212”. Och detta kan vara vad som helst, vilket är upp till användarens val.

Koda:

 Sub VBA_Unprotect () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect Password: = "Open1212" End Sub 

Steg 7: Nu först skyddar vi Sheet1 genom att klicka på fliken Granska menyn och välja Protect Sheet- alternativet.

Steg 8: Ange lösenordet som vi vill och klicka på Ok för att skydda arket.

Steg 9: Ange lösenordet igen för att bekräfta.

Steg 10: När vi gjort det kommer vi att se, vi kan inte ändra något i det arket även om vi försöker. För att ta bort skyddet för arket kommer vi att sammanställa vår skriftliga kod och köra den.

Vi kommer att se, när vår kod har körts, vi nu kan göra några ändringar i Sheet1 .

Steg 11: Tänk om vi tar bort eller ändrar kodraden där vi har lagt in lösenordet och gör det till Unprotect-funktionen som visas nedan. Låt oss se vad som händer om vi gör det.

Koda:

 Sub VBA_Unprotect () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect End Sub 

Steg 12: Kör nu igen den fullständiga koden. Vi ser, en meddelanderuta kommer att visas som kommer att be om att ange lösenordet. Mata in lösenordet här som vi har valt när du skyddar arket och klicka på Ok.

Med denna process kan vi också skydda det ark vi vill ha.

VBA Unprotect Sheet - Exempel # 2

Det finns ett annat sätt att avskydda kalkylblad. Detta är det enklaste och enklaste sättet att göra det. För detta följer du stegen nedan:

Steg 1: Skriv delproceduren för VBA Unprotect som visas nedan.

Koda:

 Sub VBA_Unprotect2 () End Sub 

Steg 2: Använd kalkylarkfunktionen och välj det ark som vi vill skydda. Här igen är det arket Ark 1 .

Koda:

 Sub VBA_Unprotect2 () Worksheets ("Sheet1") End Sub 

Steg 3: På liknande sätt som visas i exempel 1, kommer vi att använda Unprotect-kommandot tillsammans med lösenordet som vi använde när vi låste arket. Här är vårt lösenord för att skydda inte samma sak som “ Open1212 ”.

Koda:

 Sub VBA_Unprotect2 () Worksheets ("Sheet1"). Unprotect Password: = "Open1212" End Sub 

Nu är vår kod klar. För att testa detta ska du först skydda arket på samma sätt som vi gjorde i exempel 1 och kör den här koden för att avskydda det.

VBA Unprotect Sheet - Exempel # 3

Tänk om jag säger att vi igen kan skriva en kod där vi inte behöver välja namnet på det ark som vi vill avskydda. Ja, det kan göras med en slinga. För detta följer du stegen nedan:

Steg 1: Återigen för detta öppnar du en modul och skriver delproceduren för VBA Unprotect-ark som visas nedan.

Koda:

 Sub VBA_Unprotect3 () End Sub 

Steg 2: Använd DIM för att definiera en variabel för kalkylblad som exemplar. Det är samma linje som vi har använt i exemplen ovan.

Koda:

 Sub VBA_Unprotect3 () Dim ExSheet As Worksheet End Sub 

Steg 3: Öppna en For-Next-slinga där vi skriver villkoren för oskyddande ark.

Koda:

 Sub VBA_Unprotect3 () Dim ExSheet Som arbetsblad för nästa ExSheet End Sub 

Steg 4: Skriv villkoret för varje öppnad aktiv arbetsbok väljer det aktuella aktiva arbetsbladet, som visas nedan.

Koda:

 Sub VBA_Unprotect3 () Dim ExSheet Som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets Nästa ExSheet End Sub 

Steg 5: Nu på liknande sätt som i exemplen ovan kommer vi att använda definierade variabler tillsammans med Unprotect-funktionen för att avskydda arket. Även här kan vi kanske eller inte använda lösenordet. Detta är ett valfritt sätt.

Koda:

 Sub VBA_Unprotect3 () Dim ExSheet Som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets ExSheet.Unprotect Password: = "Open1212" Nästa ExSheet End Sub 

Kompilera koden och kör om inget fel hittades.

Så här kan vi avskydda alla öppna nuvarande kalkylblad utan att ens välja namnet och sekvensen på det. Denna kod beaktar automatiskt det ark som för närvarande är valt och öppnat.

Fördelar med Excel VBA Unprotect Sheet

  • Ovan visade processer och exempel är de enklaste att tillämpa.
  • Vi kan avskydda arket på båda sätten, ge lösenordet själv i koden eller utan att ge lösenordet.
  • Detta fungerar på samma sätt som vi manuellt avskyddar arket.

Saker att komma ihåg

  • Eftersom processen är ganska enkel att genomföra, så det kanske inte blir någon förbättring genom att automatisera.
  • Vi kan ändra lösenordet varje gång vi gör om processen för att skydda och avskydda arket.
  • Vi kan välja namnet på arket eller sekvensen på arket som vi vill avskydda det.
  • Och när du gjort det, spara koden i makro aktivera excel-kalkylbladet för att skydda VBA-koden förlorar

Rekommenderade artiklar

Detta är en guide till VBA Unprotect Sheet. Här diskuterar vi hur du kan avskydda ark i Excel med hjälp av VBA-kod tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Public Variable (Exempel)
  2. VBA-formatnummer med funktion
  3. VBA-variant med datatyper
  4. VBA Randomize | Excel-mallar
  5. VBA Environ

Kategori: