Amióta nagyjából világ a világ, azóta az Excel jópár elgondolkodtató és fejtörést okozó kérdése közül az egyik a mai napig az, hogy miért nem lehet elrejtett munkalapokat egyszerre láthatóvá tenni, miért kell ezt manuálisan egyesével megcsinálnia egy mezei felhasználónak?
A következő posztban azokon a lehetőségeken fogok végigmenni, amelyeket leggyakrabban használnak a tapasztaltabb userek eme, időnként tényleg nagy szenvedéseket okozó, tervezett funkcionalitás elhárítása érdekében. És bár sokan úgy gondolják, hogy ez csak makróból megoldható, van azért beépített megoldási lehetőség is, ha nem is olyan könnyen használható.
Szóval adott a következő helyzet - ahogy a következő képen látható is, elrejtünk minden munkalapot az egyik munkafüzetünkben:
Na és most ezeket akarjuk láthatóvá tenni. Az alapmegoldás minden esetben a jobb gombbal való kattintás után megjelenő menüből az Unhide opció kiválasztása:
Majd az első sheet kiválasztása és okéra kattintás után szépen ismételjük a mozdulatsort, egészen addig, amíg el nem érjük a kívánt eredményt.
Ennek van a gyorsabb verziója, az ALT+O+H+U és ENTER billentyűkombináció igen gyors nyomogatása.
A következő gyakran alkalmazott, ám csak nem rendszeres igénynél használt megoldás, a VBA-editorból elérhető Immediate ablakból futtatható kódsor:
Ugyebár Excelből ALT+F11 lenyomása után belépünk a VBA-editorba, ott CTRL+G lenyomásával meghívjuk az Immediate ablakot, majd begépeljük az egyetlen soros parancsunkat. Jelen esetben is látható, hogy két : alkalmazásával tesszük lehetővé az Immediate ablak használatát, hiszen itt csak egyetlen sort tudunk lefuttatni, tehát kettőspontok nélkül nem működne ez a megoldás.
És ahogy arról majd egy későbbi posztban részletesebben is írok, az Immediate Window tökéletesen alkalmas változók aktuális értékének megállapítására, utasítások tesztelésére és hibakeresésre is, így jelen esetünkben most végigfutunk egy cikluson, azaz az összes worksheetünk Visible tulajdonságát True-ra állítjuk - ergó szépen megjelenítjük a korábban elrejtett munkalapokat.
Aztán van ennek a megfelelő szubrutinban történő kidolgozása, amikor nagyjából ugyanazt csináljuk, mint az Immediate ablakban, csak a megfelelő formai elemeket is megadjuk a kódsornak:
Sub elrejtesfeloldas()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Ugyanaz, mint az előbb, azaz az aktív munkafüzetünk összes munkalapján végigmegyünk és a Visible paramétert xlSheetVisible státuszra állítjuk.
A következő módszer az, amelyhez nincs szükség se Immediate ablakra, se VBA-kódsorra, csak kicsivel több előkészítő munkára. Készítsük elő úgy az Excel-munkafüzetünket, hogy az összes eddig elrejtett sheetet tegyük láthatóvá, vagy legalábbis azokat, amelyeknél az elrejtés után sűrűn előfordul az az igény, hogy mégis láthatóvá akarjuk őket tenni. Ha ezzel megvagyunk, akkor a View ribbonfül Workbook Views szekciójából válasszuk ki a Custom Views menüpontot:
A felugró Custom Views ablakban kattintsunk az Add gombra:
Adjunk nevet a nézetünknek:
Ha ez megvan, akkor nagyjából kész vagyunk, hiszen most készítettünk egy olyan custom nézetet, amelyben az általunk meghatározott munkalapok láthatóak, ergó bármikor elrejtjük őket, a Custom Views menüpontból előhívhatjuk a korábban meghatározott, minden meghatározott sheetet láthatóként mutató nézetet:
Ezek a leginkább elterjedt megoldási lehetőségek és ötletek, esetleg valamelyik kedves Olvasónak van egy másik (akár gyorsabb, akár nem) a tarsolyában?