VBA Protect Sheet - Jelszóval védje az Excel lapot a VBA használatával

Tartalomjegyzék

Excel VBA védő lap

Mi lehet védeni a excel lapot a VBA-kód , amely nem teszi lehetővé a felhasználó számára, hogy bármilyen változás a munkalap adatait, minden amit tehetünk, csak olvasni a jelentést. Ehhez van egy beépített vba módszerünk, a „Protect” néven.

Ahogy védjük a munkalapjainkat az excel programban, ugyanúgy használhatjuk a VBA-t is a munkalapjaink védelmére. Ez egy .protect utasítás használatával történik, kétféle módszer létezik az egyik lap jelszóval történő védelme, a másik pedig jelszó nélkül, a védelem szintaxisa. a munkalap a következő Munkalapok (): Jelszó védelme.

A végső jelentést általában megosztjuk a felhasználóval vagy az olvasóval. Amikor megosztjuk a végső jelentést a felhasználóval, azt kívánjuk, hogy a felhasználó ne végezzen semmilyen módosítást vagy manipulálja a végső jelentést. Ilyen esetekben a bizalomról van szó, nem igaz?

Szintaxis

A védőlap különféle paramétereket tartalmaz az ellátáshoz. Ez ellentétben áll a lap védtelenítésével. Nézzük meg a Protect módszer szintaxisát jelszóval.

Azta!!! Ne ijedjen meg azzal, ha megnézi a szintaxist. Vessen egy pillantást az alábbi érvek magyarázatára.

  • Munkalap neve: Először meg kell említenünk, hogy melyik munkalapot fogjuk megvédeni.
  • Jelszó: Meg kell adnunk a védelemhez használt jelszót. Ha figyelmen kívül hagyjuk ezt a paramétert, az excel jelszó nélkül lezárja a lapot, és miközben a lapot nem védi, jelszó megadása nélkül védelmet nyújt.
  • Megjegyzés: Ne feledje a megadott jelszót, mert ha elfelejtette, akkor különféle nehéz utakon kell járnia.
  • Rajzobjektum: Ha meg akarja védeni a munkalap objektumait, akkor az argumentumot IGAZként vagy másként HAMISként adja át. Az alapértelmezett érték IGAZ.
  • Tartalom: A munkalap tartalmának védelme érdekében állítsa a paramétert IGAZ vagy pedig HAMIS értékre. Az alapértelmezett érték FALSE. Ez csak a lezárt cellákat védi. Az alapértelmezett érték IGAZ.
  • Forgatókönyvek: Ha van valami mi lenne, ha elemzés lenne az excel szcenáriókban, akkor azokat is megvédhetjük. Az IGAZ vagy a HAMIS védelme érdekében. Az alapértelmezett érték IGAZ.
  • Csak felhasználói felület: Ha a makrótól eltérő felhasználói felületet akar védeni, akkor annak IGAZnak kell lennie. Ha ezt az argumentumot kihagyja, akkor mind a makrókat, mind a felhasználói felületet megvédi. Ha az argumentumot IGAZra állítja, akkor csak a felhasználói felületet fogja védeni. Az alapértelmezett érték FALSE.
  • Cellák formázásának engedélyezése: Ha meg akarja engedni, hogy a felhasználó formázza a cellát, akkor a paramétert IGAZ vagy HAMIS értékre állíthatja. Az alapértelmezett érték FALSE.
  • Oszlopok formázásának engedélyezése: Ha engedélyezni szeretné a felhasználó számára, hogy a védett lap bármely oszlopát formázza, akkor a paramétert IGAZ vagy HAMIS lehet megadni. Az alapértelmezett érték FALSE.
  • Sorok formázásának engedélyezése: Ha engedélyezni szeretné a felhasználó számára, hogy a védett lap bármelyik sorát formázza, akkor a paramétert IGAZ vagy HAMIS lehet megadni. Az alapértelmezett érték FALSE.
  • Hagyjuk beszúrása Oszlopok VBA: szeretné, hogy a felhasználó helyezze be az új oszlopot, majd be kell állítani, hogy ez igaz. Az alapértelmezett érték FALSE.
  • Sorok beillesztésének engedélyezése: Ha engedélyezni szeretné, hogy a felhasználó új sorokat illesszen be, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Hiperhivatkozások beillesztésének engedélyezése: Ha engedélyezni szeretné a felhasználó számára a hiperhivatkozások beszúrását, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Oszlopok törlésének engedélyezése : Ha engedélyezni szeretné, hogy a felhasználó oszlopokat töröljön a VBA-ból, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Sorok törlésének engedélyezése : Ha engedélyezni szeretné a felhasználó számára a sorok törlését, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Rendezés engedélyezése: Ha engedélyezni szeretné a felhasználó számára az adatok rendezését, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Szűrés engedélyezése: Ha engedélyezni szeretné a felhasználó számára az adatok szűrését, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.
  • Forgótáblák használatának engedélyezése: Ha engedélyezni szeretné a felhasználó számára a forgatótáblák használatát, akkor ezt IGAZ értékre kell állítania. Az alapértelmezett érték FALSE.

Hogyan lehet megvédeni a VBA kóddal a Sheet alkalmazást?

1. lépés: Válassza ki a védendő lapot

A lap védelme érdekében az első lépés annak eldöntése, hogy melyik lapot kell megvédenünk egy jelszóval, és a nevet kell hívnunk a VBA munkalap objektum használatával.

Tegyük fel például, hogy védeni szeretné a „Mesterlap” nevű lapot, akkor meg kell említenie a munkalap nevét, mint az alábbiak.

2. lépés: Határozza meg a munkalap változót

Miután megemlítette a munkalap nevét, tegyen egy pontot, de nem látunk egyetlen IntelliSense listát sem, amellyel működhetne. Ez megnehezíti a munkát. Az IntelliSense listához való hozzáféréshez a változót munkalapként definiálja.

Kód:

Sub Protect_Példa1 () Dim Ws mint munkalap vége

3. lépés: Adja meg a munkalap hivatkozását

Most állítsa a munkalap hivatkozását a változóra munkalapként („Master Sheet”) .

Kód:

Sub Protect_Példa1 () Dim Ws mint munkalapkészlet Ws = munkalapok ("Master Sheet") Vége Sub

Most a „Ws” változó tartalmazza a „Master Sheet” nevű munkalap hivatkozását. Ennek a változónak a segítségével elérhetjük az IntelliSense listát.

4. lépés: Válassza a Protect Method lehetőséget

Válassza ki a „Protect” módszert az IntelliSense listából.

5. lépés: Írja be a jelszót

Adja meg a jelszót dupla idézőjelben.

Kód:

Sub Protect_Example1 () Dim Ws mint munkalapkészlet Ws = munkalapok ("Master Sheet") Ws. Jelszó védelme: = "MyPassword" End Sub

6. lépés: Futtassa a kódot

Futtassa a kódot manuálisan vagy az F5 gyorsbillentyű használatával, így megvédi a „törzslapként” elnevezett lapot.

Ha a lap védett, ha módosítást akarunk végrehajtani, akkor hibaüzenetet jelenít meg, az alábbiak szerint.

Abban az esetben, ha egynél több lapot szeretne védeni, akkor hurokokat kell használnunk. Az alábbiakban bemutatjuk a példa kódját a lap védelmére.

Sub Protect_Example2 () Dim Ws, mint munkalap minden egyes W-hez az ActiveWorkbookban. Munkalapok Ws.Protect jelszó: = "My Passw0rd" Következő Ws End Sub

Megjegyzés: Használjon más paramétereket a kísérlethez.

érdekes cikkek...