Excel VBA Protect Sheet

A munkalap védelme fontos feladat azok számára, akik nagyon gyakran dolgoznak a Microsoft Excel-en. Olyan feladat, amely megvédi a lapot más felhasználók általi szerkesztéstől. Tegyük fel, hogy jelentést küld a menedzsmentnek, majd a vezetés tudatosan vagy tévedésből megváltoztatja a paramétereket vagy az értékeket a jelentésen keresztül. Gyorsan azonosíthatja a hibát, ugyanakkor az átdolgozás oly sok időt vesz igénybe. A probléma kiküszöbölése érdekében mindig jó gyakorlat, ha egy lapot jelszó használatával megóvunk. Ez a beállítás segít abban, hogy nem engedélyezi a felhasználónak, hogy bármilyen változtatást végezzen a lapon. Ön is megoszthatja a jelszót azokkal a személyekkel, akiket a tervezetteknek meghatalmazottak, valamint a változtatások végrehajtására felhatalmazott személyekkel. Noha az Excel rendelkezik a Munkalap védelme opcióval, az Excel szalagon lévő Áttekintés lapon keresztül, akkor forgalmas lesz, ha egynél több oldalt kell védenie. Sok időt fog igénybe venni, egyenként megvédeni az egyes lapokat. Ehelyett helyes gyakorlat egy VBA-kód írása, amely megvédi a munkafüzet szerkesztése céljából akár egy, akár több lapot.

A VBA Protect lap szintaxisa

Ez a munkalaphoz társított beépített VBA funkció lehetővé teszi a lap jelszóval történő védelmét. A VBA Protect Sheet funkció szintaxisa az alábbiak szerint alakul:

Az összes paraméter opcionális ebben a funkcióban, amelyet mindegyiküknél említett négyzetes zárójelekkel kitalálhat.

  • Jelszó: Meghatározza a lap jelszavát. Ha nem adják meg, akkor a lapot jelszó nélkül védik, és a felhasználó szerkesztheti azt jelszó kérése nélkül.
  • DrawingObjects: Opcionális argumentumok, amelyek lehetővé teszik a munkalap különböző formáinak védelmét. Boolean értékeket vesz. Alapértelmezés szerint FALSE.
  • Tartalom: Opcionális érv. Védi az összes tárgyat. Alapértelmezés szerint az értéke TRUE.
  • Forgatókönyvek: Védi az összes különféle forgatókönyvet. Az alapértelmezett érték TRUE.
  • UserInterfaceOnly: Védi a felhasználói felületet, de a makrókat nem. Az alapértelmezett érték TRUE, ha a makrót figyelmen kívül hagyják, valamint a felhasználói felületet is védik.
  • AllowFormattingCells: Az alapértelmezett érték FALSE-re van állítva, amelynek következtében a felhasználó nem tudja formázni a lap celláit. Ha igaz, akkor a felhasználó formázhatja a cellákat a lapról.
  • AllowInsertingColumns: Az alapértelmezett érték FALSE. Ha az igaz (TRUE) van beállítva, akkor a felhasználó beilleszt egy oszlopot a lapba.
  • AllowInsertingRows: Az alapértelmezett érték FALSE. Ha az igaz (TRUE) van beállítva, akkor a felhasználó sorokat beszúrhat a lapba.
  • AllowInsertingHyperlinks: Az alapértelmezett érték FALSE. Ha az igaz (TRUE) van beállítva, a felhasználó beilleszthet hiperhivatkozásokat a lapba.
  • AllowDeletingColumns: Az alapértelmezett érték FALSE. Ha igaz, akkor a felhasználó bármilyen oszlopot törölhet a lapról.
  • AllowDeletingRows: Az alapértelmezett érték FALSE. Ha az igaz (TRUE) van beállítva, akkor a felhasználó tetszőleges számú sort törölhet a lapról.
  • AllowSorting: Az alapértelmezett érték FALSE. Ha igaz, akkor a felhasználó rendezheti a lapon lévő adatokat.
  • AllowFiltering: Az alapértelmezett érték FALSE. Ha igaz, akkor a felhasználó kiszűrheti a lapon lévő adatokat.
  • AllowUsingPivotTables: Az alapértelmezett érték FALSE. Ha igaz, akkor a felhasználó használhatja és módosíthatja a pivot táblákat.

Hogyan lehet megvédeni a lapot az Excel VBA-ban?

Az alábbiakban bemutatjuk a különféle példákat a lap védelmére az Excel programban a VBA Protect használatával.

Itt letöltheti ezt a VBA Protect Sheet Excel sablont - VBA Protect Sheet Excel sablon

VBA Protect Sheet - 1. példa

Tegyük fel, hogy van egy 1. példának nevezett lap a „VBA Protect Sheet” nevű munkafüzetben. Azt akarjuk, hogy ezt a lapot jelszó védje. Ehhez kövesse az alábbi lépéseket:

1. lépés: Helyezzen be új modult a Visual Basic Editorba (VBE). Kattintson a Beszúrás elemre, majd válassza a Modul lehetőséget .

2. lépés: Adjon meg egy új alrendszert a modulon belül.

Kód:

 Alpélda_1 () Alfejezet vége 

3. lépés: Most használnunk kell a Protect funkciót, amely alkalmazható a Munkalap nevű objektumra. Indítsa el a kódot a Munkalapok objektummal, és írja be a munkalap nevét zárójelbe, amelyet védeni szeretne.

Kód:

 Alpélda_1 () Munkalapok ("1. példa") Vége Al 

4. lépés: Most tegyen egy pontot a záró zárójelek után, és használja a Véd kulcsszót, amely elindítja az 1. példa elnevezésű lap védelmének folyamatát.

Kód:

 Alpélda_1 () Munkalapok ("1. példa") 

Itt állhat le, miközben megvédi a lapot. Mivel az összes argumentum nem kötelező, az ön lapja továbbra is védett lesz, de a szerkesztés előtt nem kéri a felhasználót, hogy adja meg a jelszót, és ugyanaz lesz, mint a nem védett lap. Bizonyára nem akarja ezt így. Ezért adjon hozzá egy erős jelszót, hogy megvédje ezt a lapot a következő lépésben.

5. lépés: Írja be a Jelszó kulcsszót, és erõs jelszóval védje meg ezt a lapot.

Kód:

 Alpélda_1 () Munkalapok ("1. példa"). Jelszó védelme: = " " Alpont befejezése 

Csak a Funkció első argumentumát fogjuk használni, amelyet Jelszónak hívunk, a többi argumentumra pedig az alapértelmezett értékeket használjuk.

6. lépés: Így futtathatja ezt a kódot az F5 vagy a Futtatás gomb megnyomásával, és láthatja, hogy a fájl most védett, és megkérdezi a felhasználót a jelszóról, amint megkísérli szerkeszteni a cellákat.

Így védjük meg a lapokat a VBA Protect funkcióval.

VBA Protect Sheet - 2. példa

Most meg szeretnénk védeni az összes munkafüzetben lévő lapot. Ehhez kövesse az alábbi lépéseket:

1. lépés: Adjon meg egy al-eljárást a modulban.

Kód:

 Alpélda_2 () Albekezdés vége 

2. lépés: Adjon meg egy új változót munkalapként a Dim használatával.

Kód:

 Alpélda_2 () Dim wrk_sht Mint Munkalap Vége Al 

3. lépés: Indítsa el a For hurkot. Ennek a huroknak az aktív munkafüzet utolsó munkalapjáig kell futnia.

Kód:

 Alpélda_2 () Nem definiált wrk_sht Munkalapként minden wrk_sht fájlhoz az ActiveWorkbook.Worksheets Alpont végén 

Ez a kódsor választja ki az aktív munkafüzet mindegyik munkalapját, és a hurok minden iterációja számára a wrk_sht változóban tárolja. A hurok akkor fejeződik be, amikor a munkafüzet utolsó lapját kiválasztják és a wrk_sht változóban tárolják. Meg kell határoznunk egy műveletet ehhez a hurokhoz. Ez biztosan jelszóval védi a lapot.

4. lépés: Most használja a Véd funkciót, hogy megvédje a wk_sht változó alatt tárolt lapokat a For hurok minden iterációjának.

Kód:

 Alpélda_2 () Nem definiált wrk_sht Munkalapként minden wrk_sht fájlhoz az ActiveWorkbook.Worksheets wrk_sht.Megfelelő jelszó: = " " Alpont vége 

5. lépés: Használja a Következő utasítást, ez lehetővé teszi a hurok futtatását mindaddig, amíg minden munkalap védetté nem válik.

Kód:

 Alpélda_2 () Nem definiált wrk_sht Munkalapként minden wrk_sht fájlhoz az ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " Next End Sub 

Ha ezt a kódot futtatja, az aktív munkafüzet minden munkalapját jelszó védi, és minden alkalommal be kell írnia, amikor szerkeszteni kívánja a lapokat.

Dolgok, amikre emlékezni kell

  • Ajánlott egy jelszó használata a lap védelme közben. Ellenkező esetben a felhasználót nem kéri jelszó megadása, és közvetlenül szerkesztheti a fájlt, bár megvédte.
  • Javasoljuk, hogy emlékezzen a jelszóra. Ellenkező esetben ennek elfelejtése soha nem engedélyezi a fájl szerkesztését. Lehet, hogy át kell néznie a különféle módszereken, ha elfelejti a jelszót, és ezek a módszerek nem tartoznak a cikk hatálya alá.

Ajánlott cikkek

Ez a VBA Protect Sheet útmutatója. Itt tárgyaljuk, hogyan lehet a lapokat megvédeni vagy lezárni az Excel VBA Protect funkciójával, valamint a gyakorlati példákat és a letölthető excel sablont. Megnézheti más javasolt cikkeinket -

  1. Hogyan lehet átnevezni a lapot az Excel VBA-ban?
  2. Lépések az Excel védelmének megszüntetéséhez
  3. VBA aktiválási lap (példák Excel sablonnal)
  4. Hogyan másolhatunk egy Excel adatlapot?

Kategória: