Excel VBA Protect Sheet

Zaščita delovnega lista je pomembna naloga za tiste, ki v Microsoftovem Excelu delajo zelo pogosto. To je naloga, ki jo morate zaščititi, da jo ne bo urejal drug uporabnik. Recimo, da pošljete poročilo vodstvu in nato vodstvo zavestno ali pomotoma spremeni poročilo ali parametre skozi poročilo. Hitro je prepoznati hrošče, hkrati pa je predelava nekaj, kar vam porabi čas. Da bi odpravili to težavo, je vedno dobra praksa, da se list / lisice za urejanje z geslom zaščitijo. Ta možnost vam pomaga tako, da uporabniku ne dovolite nobenih sprememb znotraj lista. Geslo lahko delite tudi z osebo, ki je namenjena, in ki je pooblaščena za spremembe. Čeprav ima program Excel v njem možnost Protect Worksheet na zavihku Pregled, ki je prisoten na Excelovem traku, postane zaščiten, ko imate na voljo več kot en list. To bo porabilo veliko vašega časa, če vsako listo zaščitite drug za drugim. Namesto tega je dobra praksa, da napišete kodo VBA, ki lahko zaščiti eno ali več listov iz delovnega zvezka za urejanje.

Sintaksa zaščitnega lista VBA

Ta vgrajena funkcija VBA, povezana z delovnim listom, omogoča zaščito lista s pomočjo gesla. Sintaksa funkcije VBA Protect Sheet je spodaj:

V tej funkciji so vsi parametri neobvezni, kar lahko uganite v oklepajih, omenjenih za vsakega od njih.

  • Geslo: Določi geslo za list. Če ni na voljo, bo list zaščiten brez gesla in uporabnik ga lahko ureja, ne da bi ga vprašal za geslo.
  • DrawingObjects: Neobvezni argumenti, ki omogočajo zaščito različnih oblik delovnega lista. Zavzema logične vrednosti. Privzeto je nastavljeno na FALSE.
  • Vsebina: Neobvezna trditev. Ščiti vse predmete. Privzeto so nastavljene na TRUE.
  • Scenariji: Ščiti vse različne scenarije. Privzeta vrednost je nastavljena na TRUE.
  • UserInterfaceOnly: Ščiti uporabniški vmesnik, ne pa tudi makra. Privzeta vrednost je TRUE, če makro prezremo, uporabniški vmesnik pa bo zaščiten.
  • AllowFormattingCells: Privzeta vrednost je nastavljena na FALSE, zaradi česar uporabnik ne more oblikovati celic lista. Če je nastavljeno TRUE, lahko uporabnik formatira celice na listu.
  • AllowInsertingColumns: Privzeta vrednost nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik vstavi stolpec v list.
  • AllowInsertingRows: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik vstavi vrstice v list.
  • AllowInsertingHyperlinks: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik v listu vstavi hiperpovezave.
  • AllowDeletingColumns: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik z lista izbriše kateri koli stolpec.
  • AllowDeletingRows: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik iz lista izbriše poljubno število vrstic.
  • AllowSorting: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik podatke razvrsti na listu.
  • AllowFiltering: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik filtrira podatke, predstavljene na listu.
  • AllowUsingPivotTables: Privzeta vrednost je nastavljena na FALSE. Če je nastavljeno TRUE, lahko uporabnik uporablja in spreminja vrtilne tabele.

Kako zaščititi list v Excelu VBA?

Spodaj so različni primeri zaščite lista v Excelu z uporabo VBA Protect.

Predlogo za VBA Protect Sheet Excel lahko prenesete tukaj - Predloga VBA Protect Sheet Excel

VBA Protect Sheet - Primer # 1

Recimo, da imamo v delovnem zvezku z imenom "VBA Protect Sheet" list z imenom "Primer 1". Želimo, da je ta list zaščiten z geslom. Za to sledite spodnjim korakom:

1. korak: Vstavite nov modul v Visual Basic Editor (VBE). Kliknite Vstavi > izberite Modul .

2. korak: Opredelite nov podprocept v modulu.

Koda:

 Sub Primer_1 () Končni pod 

Korak 3: Zdaj moramo uporabiti funkcijo Zaščita, ki jo lahko uporabimo na predmetu, imenovanem Delovni list. Zaženite kodo s predmetom Worksheets in v oklepaje vnesite ime delovnega lista, ki ga želite zaščititi.

Koda:

 Pod Primer_1 () Delovni listi ("Primer 1") Konec Pod 

4. korak: Po zaključnih oklepajih vstavite piko in uporabite ključno besedo Protect, ki začne postopek zaščite lista z imenom " Primer 1 ".

Koda:

 Pod Primer_1 () Delovni listi ("Primer 1"). Zaščitite konec Pod 

Tu se lahko ustavite, ko zaščitite list. Ker so vsi argumenti neobvezna, bo vaš list še vedno zaščiten, vendar uporabnika pred urejanjem ne bo zahteval, da vnese geslo in bo enak nezaščitenemu listu. Tega zagotovo ne bi želeli. Zato v naslednjem koraku dodajte močno geslo za zaščito tega lista.

5. korak: Vnesite ključno besedo geslo in uporabite zaščiteno geslo.

Koda:

 Pod Primer_1 () Delovni listi ("Primer 1"). Zaščitite geslo: = " " Konec pod 

Uporabili bomo samo prvi argument funkcije, ki se imenuje Geslo, za ostale argumente pa bomo šli s privzetimi vrednostmi.

6. korak: to je to, to kodo lahko zaženete s pritiskom na tipko F5 ali Run in vidite, da je datoteka zdaj zaščitena, in takoj po poskusu urejanja katere koli celice vpraša uporabnika geslo.

Tako zaščitimo list s funkcijo VBA Protect.

Zaščitni list VBA - primer # 2

Zdaj želimo zaščititi vse liste, ki so prisotni v delovnem zvezku. Za to sledite spodnjim korakom:

1. korak: V modulu določite podproces.

Koda:

 Sub Primer_2 () Končni Sub 

2. korak: novo spremenljivko določite kot delovni list s pomočjo Dim.

Koda:

 Sub Primer_2 () Dim wrk_sht Kot konec delovnega lista Pod 

3. korak: Zaženite zanko Za. Ta zanka naj traja do zadnjega delovnega lista aktivnega delovnega zvezka.

Koda:

 Pod Primer_2 () Dim wrk_sht kot delovni list za vsak wrk_sht v ActiveWorkbook.Worksheets End Sub 

Ta vrstica kode izbere vsak delovni list aktivnega delovnega zvezka in ga shrani pod spremenljivko wrk_sht za vsako ponovitev zanke. Zanka se konča takoj, ko je izbran zadnji list delovnega zvezka in shranjen v spremenljivki wrk_sht. Določiti moramo operacijo za to zanko. Zagotovo bo zaščitil list z geslom.

4. korak: Zdaj uporabite funkcijo Zaščita, da zaščitite liste, shranjene pod spremenljivko wrk_sht, za vsako ponovitev zanke For.

Koda:

 Podpomenka_2 () Dim wrk_sht kot delovni list za vsak wrk_sht v ActiveWorkbook.Worksheets wrk_sht.Protect geslo: = " " End Sub 

5. korak: Uporabite stavek Naslednji, ki omogoča, da se zanka zažene, dokler vsak delovni list ne bo zaščiten.

Koda:

 Podpomenka_2 () Dim wrk_sht kot delovni list za vsak wrk_sht v ActiveWorkbook.Worksheets wrk_sht.Protect geslo: = " " Next End Sub 

Če zaženete to kodo, bo vsak delovni list aktivnega delovnega zvezka zaščiten z geslom in ga morate vnesti vsakič, ko želite urejati liste.

Stvari, ki jih je treba zapomniti

  • Pri zaščiti lista je priporočljivo uporabiti geslo. V nasprotnem primeru uporabnik ne bo pozvan, da vnese geslo in bo lahko neposredno uredil datoteko, čeprav ste jo zaščitili.
  • Priporočljivo je zapomniti geslo. V nasprotnem primeru pozabite na isto, vam nikoli ne bo omogočilo urejanja datoteke. Če izgubite geslo in morda te metode presegajo obseg tega članka, boste morda morali uporabiti različne metode.

Priporočeni članki

To je vodnik za zaščitni list VBA. Tukaj razpravljamo o tem, kako zaščititi ali zakleniti liste s funkcijo VBA Protect v Excelu skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kako preimenovati list v Excelu VBA?
  2. Koraki za odstranitev zaščitnega lista v Excelu
  3. VBA Aktivacijski list (primeri s predlogo Excel)
  4. Kako kopirati Excelov list?

Kategorija: