Elég sűrűn felmerül az az igény, hogy egy jól megtervezett Excel dashboardban vagy templateben a felhasználók csak bizonyos cellákhoz férjenek hozzá, ábrákat, képeket vagy meghatározott cellatartományokat ne legyenek képesek módosítani - legegyszerűbb módja az ilyen kérések teljesítésének valamilyen módon levédeni ezeket a cellatartományokat, de azt tudjuk, hogy a Protect mód segítségével elérhető lehetőségeink végesek, egy bizonyos szintnél jobban nem tudjuk specifikálni mit és mi ellen szeretnénk levédeni.
A következő egyszerű kis trükk ugyanazt a megoldást használja fel, mint amit egy sok héttel ezelőtti posztban a több hyperlink beszúrásánál használtuk és amelynek segítségével el tudjuk érni, hogy bizonyos ábrákra, formákra ne lehessen semmilyen formában rákattintani - egyébként ezt a módszert használhatjuk üzenet küldésére is.
A példa kedvéért gyorsan az Insert menüből beszúrok egy Rectangle formát:
Tehát ezt a formát fogjuk a felhasználóktól egy üzenet küldésével egyidőben elzárni, megakadályozzuk, hogy hozzáférjen bárki és módosítani tudja akár szándékosan, akár véletlenül.
Ehhez menjünk első lépésként a Developer Ribbonfül Controls szekciójába, ahonnan az Insert menüből szúrjunk be egy ActiveX vezérelt Labelt.
Ezt egy az egyben helyezzük az előbb beszúrt formánkra:
A beszúrt Labelre jobb gombbal kattintva előugró menüből a Propertiest válasszuk, majd a Label két tulajdonságát módosítsuk. Az egyik módosítás a Caption kitörlése legyen, a másik pedig a BackStyle Transparent típusúra történő átállítása. Ha ezeket megtettük, látjuk is nagyjából az eredményt, nyoma sincs a formánkra illesztett Labelnek.
Ha a most már nagyjából láthatatlannak számító Labelre duplán kattintunk, akkor a VBA-editorba kerülünk, ahol a Click eseményhez tudnánk kódot rendelni. Nekünk most erre nincs szükségünk, viszont ha az esemény típusát átállítjuk MouseMove-ra, akkor a Label fölé húzott kurzor esetén indíthatunk el egy kódot:
Rengeteg lehetőségünk van, a példa kedvéért most egy szimpla MsgBox utasítással kiíratok egy üzenetet a felhasználónak:
Ezután már látjuk is, hogy mi történik, ha a forma (valójában pedig a Label) fölé húzzuk az egeret.