Arkusz ochrony VBA - Zabezpiecz hasłem arkusz Excela za pomocą VBA

Arkusz ochronny Excel VBA

Możemy zabezpieczyć arkusz Excela za pomocą kodu vba, który nie pozwala użytkownikowi na dokonywanie jakichkolwiek zmian w danych arkusza, wszystko, co mogą zrobić, to po prostu przeczytać raport. W tym celu mamy wbudowaną metodę VBA o nazwie „Ochrona”.

Podobnie jak chronimy nasze arkusze w programie Excel, podobnie możemy używać VBA do ochrony naszych arkuszy, odbywa się to za pomocą instrukcji .protect, istnieją dwie metody ochrony arkusza, jedna jest hasłem, a druga jest bez hasła, składnia do ochrony arkusz roboczy jest następujący: Arkusze robocze (): Chroń hasło.

Zwykle udostępniamy ostateczny raport końcowy użytkownikowi lub czytelnikowi. Gdy udostępniamy końcowy raport końcowy użytkownikowi, chcielibyśmy, aby użytkownik nie wprowadzał żadnych modyfikacji ani nie manipulował raportem końcowym. W takim scenariuszu chodzi o zaufanie, prawda?

Składnia

Arkusz ochronny wymaga dostarczenia różnych parametrów. To jest w przeciwieństwie do Unprotecting the Sheet. Spójrzmy na składnię metody Protect z hasłem.

Łał!!! Nie daj się zastraszyć patrząc na składnię. Spójrz na wyjaśnienie każdego argumentu poniżej.

  • Nazwa arkusza roboczego: Najpierw musimy wspomnieć, który arkusz roboczy zamierzamy chronić.
  • Hasło: musimy wprowadzić hasło, którego używamy do ochrony. Jeśli zignorujemy ten parametr, excel zablokuje arkusz bez hasła, a podczas wyłączania ochrony wyłączy ochronę bez pytania o hasło.
  • Uwaga: Zapamiętaj hasło, które podajesz, ponieważ jeśli zapomniałeś, musisz przejść przez różne trudne drogi.
  • Obiekt rysunkowy: Jeśli chcesz chronić obiekty w arkuszu, możesz przekazać argument jako TRUE lub FALSE. Wartość domyślna to TRUE.
  • Zawartość: Aby chronić zawartość arkusza, ustaw parametr na TRUE lub FALSE. Wartość domyślna to FALSE. To ochroni tylko zablokowane komórki. Wartość domyślna to TRUE.
  • Scenariusze: jeśli w scenariuszach programu Excel istnieją analizy typu „co, jeśli”, możemy je również chronić. Aby chronić TRUE lub FALSE. Wartość domyślna to TRUE.
  • Tylko interfejs użytkownika: jeśli chcesz zabezpieczyć interfejs użytkownika inny niż makro, powinno to być PRAWDA. Jeśli ten argument zostanie pominięty, będzie on chronił zarówno makra, jak i interfejs użytkownika. Jeśli ustawisz argument na TRUE, będzie on chronił tylko interfejs użytkownika. Wartość domyślna to FALSE.
  • Zezwalaj na formatowanie komórek: jeśli chcesz zezwolić użytkownikowi na formatowanie komórki, możesz ustawić parametr na TRUE lub FALSE. Wartość domyślna to FALSE.
  • Zezwalaj na formatowanie kolumn: Jeśli chcesz zezwolić użytkownikowi na formatowanie dowolnej kolumny w chronionym arkuszu, możesz ustawić parametr na TRUE lub FALSE. Wartość domyślna to FALSE.
  • Zezwalaj na formatowanie wierszy: Jeśli chcesz zezwolić użytkownikowi na formatowanie dowolnego wiersza w chronionym arkuszu, możesz ustawić parametr na TRUE lub FALSE. Wartość domyślna to FALSE.
  • Zezwalaj na wstawianie kolumn w VBA: chcesz zezwolić użytkownikowi na wstawianie nowych kolumn, a następnie musisz ustawić to na TRUE. Wartość domyślna to FALSE.
  • Zezwól na wstawianie wierszy: Jeśli chcesz zezwolić użytkownikowi na wstawianie nowych wierszy, musisz ustawić to na PRAWDA. Wartość domyślna to FALSE.
  • Zezwalaj na wstawianie hiperłączy: Jeśli chcesz zezwolić użytkownikowi na wstawianie hiperłączy, musisz ustawić to na PRAWDA. Wartość domyślna to FALSE.
  • Zezwalaj na usuwanie kolumn: Jeśli chcesz zezwolić użytkownikowi na usuwanie kolumn w VBA, musisz ustawić to na TRUE. Wartość domyślna to FALSE.
  • Zezwalaj na usuwanie wierszy: Jeśli chcesz zezwolić użytkownikowi na usuwanie wierszy, musisz ustawić to na TRUE. Wartość domyślna to FALSE.
  • Zezwól na sortowanie: Jeśli chcesz zezwolić użytkownikowi na sortowanie danych, musisz ustawić to na PRAWDA. Wartość domyślna to FALSE.
  • Zezwól na filtrowanie: Jeśli chcesz zezwolić użytkownikowi na filtrowanie danych, musisz ustawić to na PRAWDA. Wartość domyślna to FALSE.
  • Zezwalaj na używanie tabel przestawnych: Jeśli chcesz zezwolić użytkownikowi na używanie tabel przestawnych, musisz ustawić tę opcję na PRAWDA. Wartość domyślna to FALSE.

Jak chronić arkusz za pomocą kodu VBA?

Krok 1: Wybierz arkusz, który ma być chroniony

Aby zabezpieczyć arkusz, pierwszym krokiem jest podjęcie decyzji, który arkusz musimy zabezpieczyć hasłem, i musimy wywołać arkusz przy użyciu jego nazwy za pomocą obiektu VBA Worksheet.

Na przykład, załóżmy, że chcesz chronić arkusz o nazwie „Arkusz wzorcowy”, a następnie musisz podać nazwę arkusza, jak pokazano poniżej.

Krok 2: Zdefiniuj zmienną arkusza roboczego

Po podaniu nazwy arkusza umieść kropkę, ale nie widzimy żadnej listy IntelliSense do pracy. To utrudnia pracę. Aby uzyskać dostęp do listy IntelliSense, definiuje zmienną jako arkusz.

Kod:

Sub Protect_Example1 () Dim Ws As Worksheet End Sub

Krok 3: Podaj odniesienie do arkusza roboczego

Teraz ustaw odniesienie arkusza do zmiennej jako Arkusze („ Arkusz wzorcowy ”) .

Kod:

Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub

Teraz zmienna „Ws” zawiera odniesienie do arkusza o nazwie „Arkusz wzorcowy”. Korzystając z tej zmiennej, możemy uzyskać dostęp do listy IntelliSense.

Krok 4: Wybierz metodę ochrony

Wybierz metodę „Ochrona” z listy IntelliSense.

Krok 5: Wprowadź hasło

Podaj hasło w cudzysłowach.

Kod:

Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Arkusz główny") W.Protect Password: = "MyPassword" End Sub

Krok 6: Uruchom kod

Uruchom kod ręcznie lub za pomocą klawisza skrótu F5, a następnie ochroni arkusz o nazwie „Arkusz wzorcowy”.

Gdy arkusz jest chroniony, jeśli chcemy dokonać jakiejkolwiek modyfikacji, pojawia się komunikat o błędzie, jak pokazano poniżej.

W przypadku, gdy chcesz zabezpieczyć więcej niż jeden arkusz, musimy użyć pętli. Poniżej znajduje się przykładowy kod zabezpieczający arkusz.

Sub Protect_Example2 () Dim Ws As Worksheet For each Ws in ActiveWorkbook.Worksheets W.Protect Password: = "My Passw0rd" Next Ws End Sub

Uwaga: użyj innych parametrów do eksperymentowania.

Interesujące artykuły...