Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013
Egy speciális beállítással megadhatjuk a használható tartományt minden munkalapon. Létezik egy úgynevezett SrollArea nevű tulajdonság, amivel egy adott területbe kényszeríthetjük a felhasználót.
A beállítás nagyon egyszerű, ám nagyon kevesek által ismert, mert a Fejlesztőeszközök (Developer) szalagot be kell hozzá kapcsolni, ami alapértelmezésként nem látható.
A Fejlesztőeszközök szalag bekapcsolása
- Excel 2007-ben az Excel beállításai menüben a „Népszerű elemek” kategóriában van.
- Excel 2010-től a beállítások menü „Menüszalag testreszabása” kategóriában van.
A bekapcsolás után keressük meg a Tulajdonságok gombot, ami előhozza majd az aktuális munkalap beállítható tulajdonságait.
A használható terület beállítása
Ahogy ezek után már lehet sejteni, a felhasználó nem tud kilépni ebből a területből, hiába mozgatja a nyilakkal a cellakurzort, vagy próbál kívül kattintani valamelyik cellán.
További lehetőségek
- Pusztán barátságból esetleg meg lehet valamilyen halvány színnel jelölni a limitált területet
- Esetleg valami figyelmeztető, magyarázó szöveget is oda tehetünk
- A kívül eső sort/oszlopot esetleg elrejthetjük
- Védhetjük a munkalapot, de előtte a területet vagy annak egy részét tegyük szerkeszthetővé, azaz vegyük le a zárolást!
A Videóban mindezeket láthatod akcióban
ScrollArea beállítása a munkalapon
A Rossz hír: Kilépéskor elfelejti
Az anyag eredeti írásakor nem jártam elég alaposan körbe a dolgot, és nem tudtam még, hogy a ScrollArea limitálása csak addig él, amíg a munkafüzet nyitva van. Bezáráskor elfelejti, tehát újra megnyitáskor nem lesz érvényes a korlátozás.
Erre csak makró megoldás van
Az egyik lehetőség, hogy a munkalap kiválasztásához rendelünk egy makrót, ami akkor fut le, amikor kijelöljük a munkalapot.
- Munkalap jobb klikk
- A megjelenő ablak jobb oldalának tetején átváltunk „Worksheet„-re, mellette válasszuk ki az „Activate” eseményt.
- A megjelenő kódot alakítsuk így:
- A tartomány címét állítsuk a szükségleteink szerint.
- Mentsük a munkafüzetet makróbarát munkafüzet formátumban.
Szép napot.
Az észrevételem csupán annyi lenne, hogy ha beállítom egy aktív munkafüzet aktív lapjára a korlátozást és elmentem, az újbóli megnyitást követően a korlátozás érvényét veszti (a munkalap ugyan úgy szerkeszthetővé válik, mint előtte volt). Kell még valamilyen plusz beállítást eszközölnöm, vagy valamit félre/rosszul értettem a honlapon leírt tananyagból?
Ha netalántán csak VBA eszközökkel lehetne megoldani/orvosolni/kiküszöbölni a problémát, akkor van arra használható script, hogy a megnyitás után automatikusan lefusson és így korlátozza a hozzáférhető munkaterületet?
Segítségüket előre is köszönöm.
Szabolcs
Kedves Szabolcs!
Nagyon köszönöm az észrevételt. Én ezt nem próbáltam, de sajnos valóban úgy működik, hogy kilépéskor elfelejti a korlátozást.
Erre csak makró megoldás van, ami vagy a munkafüzet megnyitásakor, vagy a munkalap aktiválásakor állítja be a területet.
Ez azzal jár, hogy mivel makrót tartalmaz, a munkafüzetet makróbarát munkafüzetként kell menteni.
Szabolcs kommentjének hatására frissítem a fenti anyagot, és megadom a makrós megoldást.
Kösz, Szabolcs!
Kedves Imi!
Ezt hogy tudnám feloldani gombnyomásra jelszóval?
Gombnyomás stb. meg van a fejben, csak maga a parancs érdekelne amivel ismét aktívvá tehetem a cellákat egyszerűen.
ActiveSheet.ScrollArea=””
🙂
Köszi, közben meg találtam!
Kedves Imi!
A ActiveSheet.ScrollArea tel lehet variálni, hogy több nem összefüggő területet adjak meg?
Pl. Worksheets(„Start”).ScrollArea = „A1:A10”
és
Worksheets(„Start”).ScrollArea = „K3:N480” stb.
Vagy csak egy bizonyos területet lehet megadni? Minden megoldás érdekel!
Köszönöm!
Egy munkalaphoz egy ilyen tulajdonság rendelhető.
Ha több olyat szeretnél, ahol szerkeszthető, de a többi nem, akkor már munkalapvédelmet kell bekapcsolni, és előtte definiálni, hogy mik legyenek zárolt cellák, és mik nem.
Imre
Köszönöm!