Ochranný list VBA | Chraňte heslem Excel list pomocí VBA

Ochranný list aplikace Excel VBA

Můžeme chránit list aplikace Excel pomocí kódu VBA, který neumožňuje uživateli provádět jakékoli změny dat listu, vše, co mohou udělat, je jen přečíst zprávu. K tomu máme vestavěnou metodu vba nazvanou „Protect“.

Stejně jako chráníme naše listy v aplikaci Excel, podobně můžeme použít VBA k ochraně našich listů, provádí se pomocí příkazu .protect, existují dvě metody ochrany listu, jedna je s heslem a druhá bez hesla, syntaxe pro ochranu listu je následující pracovní listy (). Chraňte heslo.

Obvykle sdílíme závěrečnou závěrečnou zprávu s uživatelem nebo čtenářem. Když sdílíme závěrečnou závěrečnou zprávu s uživatelem, přejeme si, aby uživatel neprováděl žádné úpravy ani s konečnou zprávou nemanipuloval. V takovém scénáři je to všechno o důvěře, že?

Syntax

Ochrana listu zahrnuje různé parametry, které se dodávají, na rozdíl od zrušení ochrany listu. Podívejme se na syntaxi metody Protect s heslem.

Páni!!! Nenechte se zastrašit pohledem na syntaxi. Níže se podívejte na vysvětlení každého argumentu.

  • Název listu: Nejprve musíme zmínit, který list budeme chránit.
  • Heslo: Musíme zadat heslo, které používáme k ochraně. Pokud tento parametr ignorujeme, aplikace Excel uzamkne list bez hesla a při zrušení ochrany listu zruší ochranu bez zadání hesla.
  • Poznámka: Pamatujte si heslo, které dáváte, protože pokud jste zapomněli, musíte projít různými tvrdými způsoby.
  • Kreslící objekt: Pokud si přejete chránit objekty v listu, můžete argument předat jako PRAVDA nebo NEPRAVDA. Výchozí hodnota je TRUE.
  • Obsah: Chcete-li chránit obsah listu, nastavte parametr na hodnotu TRUE nebo FALSE. Výchozí hodnota je FALSE. Tím ochráníte pouze uzamčené buňky. Výchozí hodnota je TRUE.
  • Scénáře: Pokud ve scénářích aplikace Excel existují nějaké analýzy typu „co kdyby“, můžeme je také chránit. Chcete-li chránit PRAVDA nebo NEPRAVDA. Výchozí hodnota je TRUE.
  • Pouze uživatelské rozhraní: Pokud chcete chránit jiné uživatelské rozhraní než makro, mělo by to být PRAVDA. Pokud je tento argument vynechán, bude chránit jak makra, tak uživatelské rozhraní. Pokud nastavíte argument na TRUE, bude chránit pouze uživatelské rozhraní. Výchozí hodnota je FALSE.
  • Povolit formátování buněk: Pokud chcete uživateli povolit formátování buňky, můžete nastavit parametr na TRUE nebo FALSE. Výchozí hodnota je FALSE.
  • Povolit formátování sloupců: Pokud chcete uživateli povolit formátování libovolného sloupce v chráněném listu, můžete nastavit parametr na TRUE nebo FALSE. Výchozí hodnota je FALSE.
  • Povolit formátování řádků: Pokud chcete uživateli povolit formátování libovolného řádku v chráněném listu, můžete nastavit parametr na TRUE nebo FALSE. Výchozí hodnota je FALSE.
  • Allow Insert Columns in VBA: you wish to allow the user to insert new columns then you need to set this to TRUE. Výchozí hodnota je FALSE.
  • Povolit vkládání řádků: Pokud chcete uživateli povolit vkládání nových řádků, musíte jej nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit vložení hypertextových odkazů: Pokud chcete uživateli povolit vkládání hypertextových odkazů, musíte toto nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit mazání sloupců: Pokud chcete uživateli povolit mazání sloupců ve VBA, musíte toto nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit mazání řádků: Pokud chcete uživateli povolit mazání řádků, musíte toto nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit řazení: Pokud chcete uživateli umožnit třídění dat, musíte toto nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit filtrování: Pokud chcete uživateli povolit filtrování dat, musíte jej nastavit na TRUE. Výchozí hodnota je FALSE.
  • Povolit použití kontingenčních tabulek: Pokud chcete uživateli povolit použití kontingenčních tabulek, musíte jej nastavit na TRUE. Výchozí hodnota je FALSE.

Jak chránit list pomocí kódu VBA?

Tuto šablonu Excel VBA Protect Sheet Excel si můžete stáhnout zde - Šablona Excel VBA Protect Sheet

Krok 1: Vyberte list, který je třeba chránit

Prvním krokem k ochraně listu je rozhodnout, který list musíme chránit pomocí hesla, a musíme list volat pomocí jeho názvu pomocí objektu listu vba.

Předpokládejme například, že chcete chránit list s názvem „Hlavní list“, pak musíte uvést název listu, jak je uvedeno níže.

Krok 2: Definujte proměnnou listu

Po uvedení názvu listu vložte tečku, ale nevidíme žádný seznam IntelliSense, se kterým bychom mohli pracovat, což práci ztěžuje. Chcete-li získat přístup k seznamu IntelliSense, definujete proměnnou jako list.

Kód:

 Sub Protect_Example1 () Dim Ws jako list End Sub 

Krok 3: Poskytněte odkaz na pracovní list

Nyní nastavte odkaz na list na proměnnou jako Listy („Hlavní list“) .

Kód:

 Sub Protect_Example1 () Dim Ws jako sada listů Ws = listy ("hlavní list") End Sub 

Proměnná „Ws“ nyní obsahuje odkaz na list s názvem „Hlavní list“. Použitím této proměnné můžeme vstoupit do seznamu intellisense.

Krok 4: Vyberte možnost Chránit metodu

V seznamu IntelliSense vyberte metodu „Chránit“.

Krok 5: Zadejte heslo

Zadejte heslo v uvozovkách.

Kód:

 Sub Protect_Example1 () Dim Ws jako sada listů Ws = Listy ("Hlavní list") Ws.Protect Heslo: = "MyPassword" Konec Sub 

Krok 6: Spusťte kód

Spusťte kód ručně nebo pomocí klávesové zkratky F5 a poté ochrání list s názvem „Hlavní list“ .

Když je list chráněn, chceme-li provést jakoukoli úpravu, zobrazí se nějaká chybová zpráva, jak je uvedeno níže.

V případě, že chcete chránit více než jeden list, potřebujeme použít smyčky, níže je ukázkový kód pro ochranu listu.

 Sub Protect_Example2 () Dim Ws jako list pro každou Ws v ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Poznámka: K experimentování použijte další parametry.


$config[zx-auto] not found$config[zx-overlay] not found