Ochranný list Excel VBA

Ochrana pracovného hárka je dôležitou úlohou pre tých, ktorí veľmi často pracujú v programe Microsoft Excel. Je to úloha, ktorú musíte chrániť, aby ste ju nemohli upravovať iným používateľom. Predpokladajme, že posielate správu do správy a potom manažment vedome alebo omylom zmení parametre alebo hodnoty prostredníctvom správy. Identifikácia chyby sa stane hektickou a zároveň je prepracovanie niečo, čo vyžaduje čas. Na prekonanie tohto problému je vždy dobré chrániť listy / listy pred úpravami pomocou hesla. Táto voľba vám pomôže tým, že neumožní používateľovi vykonať žiadne zmeny v hárku / listoch. Heslo môžete zdieľať aj s osobou, ktorá má v úmysle vykonať zmeny. Aj keď program Excel má možnosť Protect Worksheet (Ochrana pracovných listov) v rámci karty Review (Prehľad) na páse s nástrojom Excel, stane sa hektickou, ak máte na ochranu viac ako jeden list. Bude si to vyžadovať dostatok času na ochranu každého listu jeden po druhom. Namiesto toho je dobré napísať kód VBA, ktorý môže chrániť pred úpravou jeden alebo viac hárkov z vášho zošita.

Syntax ochranného listu VBA

Táto vstavaná funkcia VBA spojená s pracovným listom vám umožňuje chrániť hárok pomocou hesla. Syntax funkcie VBA Protect Sheet je uvedená nižšie:

Všetky parametre sú voliteľné v tejto funkcii, ktorú môžete uhádnuť cez hranaté zátvorky uvedené pre každú z nich.

  • Heslo: Určuje heslo pre hárok. Ak nie je k dispozícii, hárok bude chránený bez hesla a užívateľ ho môže upravovať bez toho, aby bol požiadaný o heslo.
  • DrawingObjects: Voliteľné argumenty, ktoré vám umožňujú chrániť rôzne tvary pracovného hárka. Berie booleovské hodnoty. V predvolenom nastavení je FALSE.
  • Obsah: Nepovinný argument. Chráni všetky objekty. Predvolené hodnoty sú TRUE.
  • Scenáre: Chráni všetky rôzne scenáre. Predvolená hodnota je TRUE.
  • UserInterfaceOnly: Chráni používateľské rozhranie, ale nie makrá. Predvolená hodnota je PRAVDA, ak je makro ignorované, ako aj užívateľské rozhranie bude chránené.
  • AllowFormattingCells: Predvolená hodnota je nastavená na FALSE, vďaka ktorej používateľ nemôže formátovať bunky hárku. Ak je nastavená PRAVDA, môže užívateľ formátovať bunky z hárku.
  • AllowInsertingColumns: Predvolená hodnota nastavená na FALSE. Ak je nastavená PRAVDA, môže užívateľ vložiť stĺpec do hárku.
  • AllowInsertingRows: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, môže užívateľ vložiť riadky do hárku.
  • AllowInsertingHyperlinks: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, môže užívateľ vložiť hypertextové odkazy do hárku.
  • AllowDeletingColumns: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, používateľ môže z hárku odstrániť ľubovoľný stĺpec.
  • AllowDeletingRows: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, používateľ môže z hárku odstrániť ľubovoľný počet riadkov.
  • AllowSorting: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, môže užívateľ zoradiť údaje uvedené v hárku.
  • AllowFiltering: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, používateľ môže filtrovať údaje prítomné v hárku.
  • AllowUsingPivotTables: Predvolená hodnota je nastavená na FALSE. Ak je nastavená PRAVDA, používateľ môže používať a upravovať kontingenčné tabuľky.

Ako chrániť list v Excel VBA?

Nižšie sú uvedené rôzne príklady ochrany listu v programe Excel pomocou nástroja VBA Protect.

Túto šablónu VBA Protect Sheet Excel si môžete stiahnuť tu - VBA Protect Sheet Excel Template

Ochranný list VBA - Príklad č. 1

Predpokladajme, že máme hárok s názvom „Príklad 1“ v zošite s názvom „VBA Protect Sheet“. Chceme, aby bol tento hárok chránený heslom. Postupujte podľa nasledujúcich krokov:

Krok 1: Vložte nový modul do editora jazyka Visual Basic (VBE). Kliknite na Vložiť > vyberte modul .

Krok 2: Definujte novú čiastkovú procedúru v rámci modulu.

kód:

 Sub príklad_1 () Koniec sub 

Krok 3: Teraz musíme použiť funkciu Protect, ktorá sa dá použiť na objekt s názvom Worksheet. Spustite kód pomocou objektu Tabuľky a do zátvoriek zadajte názov pracovného hárka, ktorý chcete chrániť.

kód:

 Sub Príklad_1 () Pracovné listy („Príklad 1“) Koniec Sub 

Krok 4: Za záverečné zátvorky vložte bodku a použite kľúčové slovo Protect, ktoré iniciuje proces ochrany listu s názvom „ Príklad 1 “.

kód:

 Podpríloha_1 () Pracovné hárky („Príklad 1“). Chrániť koniec podpr 

Môžete tu zastaviť a chrániť list. Keďže všetky argumenty sú voliteľné, váš hárok bude stále chránený, ale pred úpravou nepožiada používateľa o zadanie hesla a bude rovnaký ako nechránený hárok. Určite by ste to nechceli. Preto v nasledujúcom kroku pridajte silné heslo na ochranu tohto hárku.

Krok 5: Zadajte kľúčové slovo Heslo a na ochranu tohto hárku použite silné heslo.

kód:

 Sub Example_1 () Pracovné hárky („Príklad 1“). Chrániť heslo: = „ “ End Sub 

Použijeme iba prvý argument funkcie, ktorá sa nazýva Heslo a pre všetky ostatné argumenty ideme s predvolenými hodnotami.

Krok 6: To je všetko, môžete spustiť tento kód stlačením klávesy F5 alebo Spustiť a uvidíte, že súbor je teraz chránený a požiada užívateľa o heslo, akonáhle sa pokúsi upraviť niektorú z buniek.

Takto chránime hárok pomocou funkcie VBA Protect.

Ochranný list VBA - Príklad č. 2

Teraz chceme chrániť všetky listy, ktoré sa nachádzajú v zošite. Postupujte podľa nasledujúcich krokov:

Krok 1: Definujte čiastkový postup v module.

kód:

 Čiastkový príklad_2 () Koncový čiastkový údaj 

Krok 2: Definujte novú premennú ako pracovný hárok pomocou Dim.

kód:

 Čiastkový príklad_2 () Dim wrk_sht ako pracovný list na konci Sub 

Krok 3: Spustite slučku For. Táto slučka by mala bežať až do posledného pracovného hárka aktívneho zošita.

kód:

 Sub príklad_2 () Dim wrk_sht ako pracovný hárok pre každý wrk_sht v ActiveWorkbook.Worksheet End Sub 

Tento riadok kódu vyberie každý pracovný hárok aktívneho zošita a uloží ho pod premennú wrk_sht pre každú iteráciu slučky. Slučka sa skončí ihneď po výbere posledného hárka zošita a jeho uložení do premennej wrk_sht. Musíme definovať operáciu pre túto slučku. Určite bude chrániť list pomocou hesla.

Krok 4: Teraz použite funkciu ochrany na ochranu listov uložených pod premennou wrk_sht pre každú iteráciu slučky For.

kód:

 Príklad Príklad_2 () Dim wrk_sht ako pracovný hárok pre každý wrk_sht v ActiveWorkbook.Worksheets wrk_sht.Chránené heslo: = " " End Sub 

Krok 5: Použite príkaz Next, umožňuje spustiť slučku, až kým nebude každý pracovný list chránený.

kód:

 Príklad Príklad_2 () Dim wrk_sht ako pracovný hárok pre každý wrk_sht v ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " Next End Sub 

Ak spustíte tento kód, každý pracovný hárok aktívneho zošita bude chránený heslom a musíte ho zadať zakaždým, keď chcete listy upraviť.

Čo je potrebné pamätať

  • Pri ochrane hárku sa odporúča použiť heslo. V opačnom prípade nebude používateľ vyzvaný na zadanie hesla a môže súbor priamo upraviť, aj keď ste ho chránili.
  • Odporúča sa zapamätať si heslo. V opačnom prípade nikdy nebudete môcť upravovať súbor. Možno budete musieť prejsť rôznymi metódami, ak stratíte heslo a tieto metódy presahujú rámec tohto článku.

Odporúčané články

Toto je príručka pre VBA Protect Sheet. Tu diskutujeme o tom, ako chrániť alebo uzamknúť listy pomocou funkcie VBA Protect v Exceli, spolu s praktickými príkladmi a šablónou programu Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako premenovať hárok v Excel VBA?
  2. Kroky na odomknutie listu v Exceli
  3. VBA Activate Sheet (Príklady so šablónou Excel)
  4. Ako kopírovať hárok programu Excel?

Kategórie: