Érdemes lehet elrejteni az inaktív munkalapokat ezzel a makróval. Az Excel nem teszi lehetővé az összes munkalap elrejtését a munkafüzetben; legalább egyet meg kell jeleníteni. Az aktív lap kivételével azonban az összeset elrejtheti.
Hogyan működik a makró
A makró itt végigfut a munkalapokon, és az egyes munkalapneveket az aktív lap nevéhez igazítja. Minden alkalommal, amikor a makró ciklusokat hajt végre, elrejti a páratlan munkalapot.
Almakró1()
'1. lépés: Deklarálja a változókat
Dim ws munkalapként
'2. lépés: Kezdje el végigfutni az összes munkalapot
For Every Ws In ThisWorkbook.Worksheets
'3. lépés: Ellenőrizze az egyes munkalapok nevét
Ha ws.Name <> ThisWorkbook.ActiveSheet.Name Akkor
'4. lépés: Rejtsd el a lapot
ws.Visible = xlSheetHidden
Vége Ha
'5. lépés: Ugrás a következő munkalapra
Következő ws
Vége Sub
Az 1. lépés deklarál egy ws nevű objektumot. Ez a lépés létrehoz egy memóriatárolót minden munkalaphoz, amelyen a makró áthalad.
A 2. lépés megkezdi a hurkot, és felszólítja az Excelt, hogy értékelje ki a munkafüzetben található összes munkalapot. Vegye figyelembe a ThisWorkbook és az ActiveWorkbook közötti különbséget. A ThisWorkBook objektum a kódot tartalmazó munkafüzetre hivatkozik. Az ActiveWorkBook objektum az éppen aktív munkafüzetre hivatkozik. Gyakran ugyanazt az objektumot adják vissza, de ha a kódot futtató munkafüzet nem az aktív munkafüzet, akkor különböző objektumokat adnak vissza. Ebben az esetben nem akarja megkockáztatni, hogy lapokat más munkafüzetekben rejtsen el, ezért használja a ThisWorkBook-ot.
A 3. lépésben a makró egyszerűen összehasonlítja az aktív lap nevét az éppen hurkolt lappal.
Ha a lapnevek eltérőek, a makró elrejti a lapot a 4. lépésben.
Az 5. lépésben vissza kell lépnie a következő laphoz. Az összes lap kiértékelése után a makró véget ér.
Vegye figyelembe, hogy az xlsheetHidden-t használja a makróban. Ez a tulajdonság azt az alapértelmezett elrejtési állapotot alkalmazza, amelyet akkor kap, ha jobb gombbal kattint egy lapra, és kiválasztja az Elrejtés parancsot. Ebben az alapértelmezett elrejtési állapotban a felhasználó jobb gombbal rákattinthat bármelyik lapra, és kiválaszthatja az Elrejtés parancsot, amely megjeleníti az összes rejtett lapot. De egy másik rejtési állapot titkosabb, mint az alapértelmezett. Ha az xlSheetVeryHidden funkciót használja a lapok elrejtésére, a felhasználók egyáltalán nem láthatják azokat – még akkor sem, ha jobb gombbal kattintanak egy lapra, és a Felfedés parancsot választják. Az ilyen módon elrejtett munkalap felfedésének egyetlen módja a VBA használata.
Hogyan kell használni a makrót
A makró megvalósításához másolja és illessze be egy szabványos modulba:
Aktiválja a Visual Basic Editort az Alt+F11 megnyomásával.
Kattintson a jobb gombbal a projekt/munkafüzet nevére a projekt ablakában.
Válassza a Beszúrás → Modul menüpontot.
Írja be vagy illessze be a kódot az újonnan létrehozott modulba.