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 své 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 k ochraně list je následující Worksheets (). Chraňte heslo.

Obvykle sdílíme závěrečnou závěrečnou zprávu s uživatelem nebo čtenářem. Když s uživatelem sdílíme závěrečnou závěrečnou zprávu, 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

Ochranný list zahrnuje různé parametry, které je třeba dodat. To je 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 bude zrušen ochrana bez požadavku na jakékoli heslo.
  • 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é analytické analýzy, 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 hodnotu 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 hodnotu 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 toto 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 řazení 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 toto nastavit na TRUE. Výchozí hodnota je FALSE.

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

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

Chcete-li list chránit, je prvním krokem rozhodnout, který list musíme chránit pomocí hesla, a list musíme zavolat podle názvu pomocí objektu listu VBA.

Předpokládejme například, že chcete chránit list s názvem „Hlavní list“, pak je třeba 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. To ztěžuje práci. Chcete-li získat přístup k seznamu IntelliSense, definujte 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“. Pomocí této proměnné můžeme přistupovat k seznamu IntelliSense.

Krok 4: Vyberte možnost Chránit metodu

Ze 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.

Pokud chcete chránit více než jeden list, musíme použít smyčky. Níže je uveden příklad kódu na 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.

Zajímavé články...