Excel VBA zaštitni list

Zaštita radnog lista važan je zadatak za one koji rade na Microsoft Excel-u vrlo često. To je zadatak koji morate zaštititi listu od uređivanja nekog drugog korisnika. Pretpostavimo da šaljete izvješće upravi i tada uprava svjesno ili pogreškom mijenja parametre ili vrijednosti kroz izvješće. Postaje užurbano prepoznati bugu i istodobno preraditi nešto što vam oduzima vrijeme. Da biste riješili taj problem, uvijek je dobra zaštita lista / stranica za uređivanje pomoću lozinke. Ova vam opcija pomaže tako što korisniku ne dopuštate nikakve promjene unutar lista. Također možete podijeliti lozinku s osobom koja je namijenjena kao i ovlaštenom za unošenje promjena. Iako Excel ima opciju Protect Worksheet unutar nje na kartici Pregled prisutnoj na Excel vrpci, postaje zapetljan kada imate više od jednog lista za zaštitu. Ovo će vam potrošiti dosta vremena štiteći jedan po jedan list. Umjesto toga, dobra je praksa napisati VBA kôd koji može zaštititi pojedinačne ili više listova iz radne knjige za uređivanje.

Sintaksa VBA zaštitnog lista

Ova ugrađena VBA funkcija povezana s Radnim listovima omogućuje vam zaštitu lista pomoću lozinke. Sintaksa za VBA Protect Sheet funkciju je kako slijedi:

U ovoj su funkciji izborni parametri neobavezni, a to možete pogoditi kroz uglate zagrade navedene za svaki od njih.

  • Lozinka: Određuje lozinku za list. Ako nije naveden, list će biti zaštićen bez zaporke i korisnik ga može uređivati ​​bez da ga pita za lozinku.
  • DrawingObjects: neobavezni argumenti koji vam omogućuju zaštitu različitih oblika radnog lista. Uzima logičke vrijednosti. Prema zadanim postavkama postavljeno je FALSE.
  • Sadržaj: Neobvezni argument. Štiti sve predmete. Prema zadanim vrijednostima postavljeno je na TRUE.
  • Scenariji: Štiti sve različite scenarije. Zadana vrijednost postavljena je na TRUE.
  • UserInterfaceOnly: Štiti korisničko sučelje, ali ne i makronaredbe. Zadana vrijednost je TRUE ako se makro ignorira, kao i korisničko sučelje bit će zaštićeno.
  • AllowFormattingCells: Zadana vrijednost je postavljena na FALSE zbog čega korisnik ne može formatirati ćelije lista. Ako je postavljeno TRUE, korisnik može oblikovati ćelije s lista.
  • AllowInsertingColumns: zadana vrijednost postavljena na FALSE. Ako je postavljeno TRUE, korisnik može umetnuti stupac u list.
  • AllowInsertingRows: zadana vrijednost postavljena je na FALSE. Ako je postavljeno TRUE, korisnik može umetnuti retke u list.
  • AllowInsertingHyperlinks: zadana vrijednost postavljena na FALSE. Ako je postavljeno TRUE, korisnik može umetnuti hiperveze u list.
  • DozvoliDeletingColumn: zadana vrijednost postavljena na FALSE. Ako je postavljeno TRUE, korisnik može izbrisati bilo koji stupac s lista.
  • AllowDeletingRows: zadana vrijednost postavljena je na FALSE. Ako je postavljeno TRUE, korisnik može izbrisati bilo koji broj redaka s lista.
  • AllowSorting: zadana vrijednost postavljena je na FALSE. Ako je postavljeno TRUE, korisnik može sortirati podatke na listu.
  • Dozvoli filtriranje: zadana vrijednost postavljena je na FALSE. Ako je postavljeno TRUE, korisnik može filtrirati podatke prisutne na listu.
  • AllowUsingPivotTables: zadana vrijednost postavljena na FALSE. Ako je postavljeno TRUE, korisnik može koristiti i mijenjati okretne tablice.

Kako zaštititi list u Excelu VBA?

Ispod su sljedeći primjeri za zaštitu lista u Excelu pomoću VBA Protect.

Možete preuzeti ovaj predložak VBA Protect Sheet Excel ovdje - VBA Protect Sheet Excel predložak

VBA zaštitni list - primjer br. 1

Pretpostavimo da u radnoj knjižici pod nazivom "VBA Protect Sheet" imamo list pod nazivom "Primjer 1". Želimo da ovaj list bude zaštićen lozinkom. Za to slijedite dolje navedene korake:

Korak 1: Umetnite novi modul u Visual Basic Editor (VBE). Kliknite Umetanje > odaberite Modul .

Korak 2: Definirajte novi pod-postupak unutar modula.

Kodirati:

 Sub Primjer_1 () Kraj Sub 

Korak 3: Sada moramo upotrijebiti funkciju Zaštita koja se može primijeniti na objekt zvan Radni list. Započnite kod s objektom Worksheets i upišite naziv radnog lista u zagrade koji želite biti zaštićeni.

Kodirati:

 Sub Primjer_1 () Radni listovi ("Primjer 1") Kraj Pod 

Korak 4: Stavite točku nakon zagradnih zagrada i koristite ključnu riječ Protect koja pokreće postupak zaštite lista s nazivom " Primjer 1 ".

Kodirati:

 Sub Example_1 () Radni listovi ("Primjer 1"). Zaštiti kraj Sub 

Ovdje se možete zaustaviti dok štite plahtu. Budući da su svi argumenti fakultativni, vaš će list i dalje biti zaštićen, ali neće tražiti od korisnika da unese lozinku prije uređivanja i bit će isti kao nezaštićeni list. Sigurno ne biste željeli ovako. Stoga u sljedećem koraku dodajte snažnu lozinku za zaštitu ovog lista.

Korak 5: Unesite ključnu riječ lozinka i koristite jaku lozinku za zaštitu ovog lista.

Kodirati:

 Sub Example_1 () Radni listovi ("Primjer 1"). Zaštitite lozinku: = " " Kraj sub 

Koristit ćemo samo prvi argument funkcije koja se zove Password (lozinka), a za ostale će sve argumente ići zadane vrijednosti.

Korak 6: To je to, pokrenite ovaj kôd pritiskom na tipku F5 ili Pokreni i vidjet ćete da je datoteka sada zaštićena te će zatražiti korisničku lozinku čim pokuša urediti bilo koju ćeliju.

Na taj način štitimo list pomoću funkcije VBA Protect.

VBA zaštitni list - primjer br. 2

Sada želimo zaštititi sve listove koji su prisutni u radnoj knjižici. Za to slijedite dolje navedene korake:

Korak 1: Definirajte pod-postupak u modulu.

Kodirati:

 Sub Primjer_2 () Kraj Sub 

Korak 2: Definirajte novu varijablu kao radni list pomoću Dim.

Kodirati:

 Sub Primjer_2 () Dim wrk_sht Kao kraj radnog lista Pod 

3. korak: Pokrenite petlju For. Ova petlja trebala bi se izvoditi do posljednjeg radnog lista aktivne radne knjige.

Kodirati:

 Pod primjer_2 () Dim wrk_sht kao radni list za svaki wrk_sht u ActiveWorkbook.Worksheets End Sub 

Ova linija koda odabire svaki radni list aktivne radne knjige i sprema je u varijablu wrk_sht za svaku iteraciju petlje. Petlja se završava čim se odabere posljednji list radne knjige i pohrani u varijablu wrk_sht. Moramo definirati operaciju za ovu petlju. Sigurno će zaštititi list pomoću lozinke.

Korak 4: Sada koristite funkciju Zaštita da se listovi pohranjuju pod varijablu wrk_sht za svaku iteraciju petlje For.

Kodirati:

 Pod primjer_2 () Dim wrk_sht kao radni list za svaki wrk_sht u ActiveWorkbook.Worksheets wrk_sht.Protect lozinka: = " " End Sub 

Korak 5: Upotrijebite naredbu Sljedeći, ona omogućuje pokretanje petlje dok svaki radni list ne bude zaštićen.

Kodirati:

 Pod primjer_2 () Dim wrk_sht kao radni list za svaki wrk_sht u ActiveWorkbook.Worksheets wrk_sht.Protect lozinka: = " " Next End Sub 

Ako pokrenete ovaj kôd, svaki će radni list aktivne radne knjige biti zaštićen lozinkom i morate ga unijeti svaki put kada želite urediti listove.

Stvari koje treba zapamtiti

  • Preporučujemo korištenje lozinke za vrijeme zaštite lista. U suprotnom od korisnika se neće tražiti da unese lozinku i može izravno uređivati ​​datoteku iako ste je zaštitili.
  • Preporučuje se zapamtiti lozinku. U suprotnom zaboravljanje istog nikad vam neće omogućiti uređivanje datoteke. Možda ćete morati proći kroz različite metode ako izgubite lozinku, a te metode su izvan dosega ovog članka.

Preporučeni članci

Ovo je vodič za VBA Protect Sheet. Ovdje smo raspravljali o tome kako zaštititi ili zaključati listove pomoću VBA Protect funkcije u Excelu, zajedno s praktičnim primjerima i download-om Excel predloška. Možete i pregledati naše druge predložene članke -

  1. Kako preimenovati list u Excelu VBA?
  2. Koraci za uklanjanje zaštite lista u Excelu
  3. VBA Aktivacijski list (Primjeri sa Excelovim predloškom)
  4. Kako kopirati Excelov list?

Kategorija: