Natália
-3 °C
7 °C

KÜRT-kurzus

2002.01.02. 16:14
Egy ideje elterjedt a híre, hogy az Excel-ben az általunk elrejtett adatokat kis trükkel elő lehet csalogatni. A hír többször, több helyen írásban is megjelent már, az okáról és a megoldás lehetőségeiről azonban nem nagyon esett még szó. Ezúton megkísérlek egy használható megoldást adni a problémára.
Védelem és annak kijátszása

Sorok, oszlopok elrejtése és védelme Az egyik leggyakrabban alkalmazott módszer a sorok és oszlopok elrejtése, majd a munkalap védelem bekapcsolása (lásd korábbi cikkeinket az Excel-ről). Ehhez nem kell semmi mást tenni, csak jobb oldali egérgombot ütni a kívánt sor, vagy oszlop azonosítóján, majd az Elrejtés funkciót kiválasztani. Ha ez megtörtént, le kell védeni a munkalapot az Eszközök menü Védelem almenüjének Lapvédelem parancsával, és jelszót kell beállítani.

Az elrejtésre szánt terület így nem látszik, és a Felfedés paranccsal nem hozható elő.
Hogyan lehet akkor mégis elérni az eldugott adatokat?
Úgy, hogy ki kell jelölni azt a sor, vagy oszloptartományt, melynek része az elrejtett terület, le kell másolni, és egy új munkafüzetbe kell beilleszteni. Ha itt láthatóvá tesszük a területet a Felfedés paranccsal, hozzáférhetünk az eldugott információhoz.

Megjegyzem, ennyi sem kell, elég a keresett cella koordinátáját egy egyenlőségjel után írni, máris megkapjuk a tartalmát (pl: "=B1"). A képlet lehúzásával pedig mindegyik cella értéke láthatóvá válik.

Munkalapfülek elrejtése

A másik gyakran használt módszer a munkalapfülek elrejtése. Ezt az Eszközök menü Beállítások parancsával érhetjük el, ha kikapcsoljuk a Megjelenítés fülön a Munkalapfülek opciót. A munkalapok elérését ilyenkor hiperhivatkozásokkal oldhatjuk meg, de a név mezőbe írt munkalapnévvel is célhoz érünk (pl. Munka2!A1).
Hatástalanítására talán szót sem érdemes vesztegetni, hiszen ezen opció visszakapcsolását egyik védelmi lehetőség sem akadályozza meg.

Az ok

Mi az oka ennek a kijátszhatóságnak? A védelem kijátszásának lehetősége az Excel alapkoncepciójából következik. A koncepció szerint az Excel különböző munkalapokon található cellák tartalmával végez számításokat. Elrejteni azért lehet adatokat, hogy ne zavarják meg a felhasználót, illetve, hogy ne módosíthassák azokat. Teljesen csak úgy lehetne elrejteni az adatokat, ha műveleteket sem lehetne végezni velük. Gondoljunk csak arra, hogy, ha például azt írjuk be egy cellába, hogy "=B2", akkor megtudjuk, hogy mi szerepel a "B2" cellában, akkor is, ha az el van rejtve.
Mi akkor a megoldás?

A megoldás

A megoldás hat lépésből tevődik össze:

  1. Olyan nevet kell adni a munkalapnak, amit mások nem találhatnak ki
  2. Magát a munkalapot kell elrejteni
  3. Le kell tiltani a munkafüzet objektumszerkezetéhez való hozzáférést
  4. Azokat a képleteket, amelyek az eldugott munkalapra hivatkoznak, el kell rejteni.
  5. Be kell kapcsolni a lapvédelmet.
  6. Be kell kapcsolni a füzetvédelmet.
A megoldás roppant egyszerűnek és logikusnak hangzik, bármilyen nevet ki tudunk találni, csak éppen a munkalap elrejtésére nincsen funkció. Látszólag_
A valóságban ugyanis létezik, csak kicsit nehezebb előhalászni.
Kattintsunk jobb oldali egérgombot az elrejtendő munkalapfülön, és válasszuk a Kód megjelenítése elemet!

A megjelenő ablakban állítsuk át a Visible tulajdonságot, "2 - xlSheetVeryHidden" értékre.

Ha most így hagynánk a munkafüzetünket, akkor egyrészt bármikor vissza lehetne állítani a láthatóságot, másrészt pedig hivatkozással le lehetne kérdezni bármely celláját.

A láthatóvá tételt ugyanebben az ablakban, a Tools menü, VBA Project Properties ablakának, Protection fülén, a Lock project for viewing opcióval és a hozzá tartozó jelszó megadásával küszöbölhetjük ki (életbelépéséhez az elkészült munkafüzetet egyszer be kell zárni, majd újra megnyitni!).

Hogyan lehetne megakadályozni a hivatkozásokkal való munkalapelérést? Teljesen sehogy, mert annak nem is volna értelme, hiszen akkor számolni sem lehetne vele. A megoldást abban kell keresni, hogy olyan nevet választottunk korábban, amit csak mi ismerünk, mások nem. Ez eddig jó is, csakhogy bármely általunk írt, és oda hivatkozó képlet leleplezi a munkalap nevét. Mit tegyünk? Védjük le a képletet!

A képlet levédését két lépésben tehetjük meg. Elsőként elő kell hívni a cellaformázás ablakot a képlet celláján (pl.: Formátum -> Cellák), majd a Védelem fülön be kell állítani a Rejtett opciót.

Azoknál a celláknál, ahol a későbbiekben meg szeretnénk engedni a cellák módosítását, ki kell kapcsolni a Zárolt opciót!

Ha mindez megtörtént, le kell védeni mindegyik munkalapot az Eszközök menü, Védelem almenüjének Lapvédelem parancsával, egy jelszó megadása útján. Azért kell mindegyik lapot levédeni, hogy ne lehessen az eldugott lapon szereplő esetleges nevekből visszanyerni a lap nevét.

Ezek után nincsen más dolgunk, mint a Füzetvédelem bekapcsolása az Eszközök menü, Védelem almenüjéből. Természetesen jelszót itt is kell adni a könnyű kikapcsolhatóság elkerülése végett. A füzetvédelem azért szükséges, hogy ne lehessen új lapokat létrehozni, lehetővé téve a rejtett lapra mutató nevek lefülelését.

US Virgin Islands

Sosem láttál még ilyen gyönyörű helyet!

Kreuzenstein mesevára

Nézd meg Te is Laczko legújabb fotóit!