Možno budete chcieť skryť neaktívne pracovné hárky pomocou tohto makra. Excel vám nedovolí skryť všetky hárky v zošite; musí byť zobrazený aspoň jeden. Môžete však skryť všetky okrem aktívneho hárku.
Ako funguje makro
Makro tu prechádza pracovnými hárkami a priraďuje názvy každého pracovného hárka k názvu aktívneho hárka. Zakaždým, keď sa makro zacyklí, skryje akýkoľvek pracovný hárok, ktorý sa nezhoduje.
Pod makro1()
'Krok 1: Deklarujte svoje premenné
Dim ws As Worksheet
'Krok 2: Začnite prechádzať všetky pracovné hárky
Pre každé ws In ThisWorkbook.Worksheets
„Krok 3: Skontrolujte názov každého pracovného hárka
Ak ws.Name <> ThisWorkbook.ActiveSheet.Name Then
„Krok 4: Skryte hárok
ws.Visible = xlSheetHidden
Koniec Ak
„Krok 5: Prejdite na ďalší pracovný hárok
Ďalšie ws
End Sub
Krok 1 deklaruje objekt s názvom ws. Tento krok vytvorí pamäťový kontajner pre každý pracovný hárok, cez ktorý makro prechádza.
Krok 2 začína cyklovanie a hovorí programu Excel, aby vyhodnotil všetky pracovné hárky v tomto zošite. Všimnite si rozdiel medzi ThisWorkbook a ActiveWorkbook. Objekt ThisWorkBook odkazuje na zošit, ktorý obsahuje kód. Objekt ActiveWorkBook odkazuje na aktuálne aktívny zošit. Často vracajú rovnaký objekt, ale ak zošit s kódom nie je aktívnym zošitom, vrátia rôzne objekty. V tomto prípade nechcete riskovať skrytie hárkov v iných zošitoch, preto použijete ThisWorkBook.
V kroku 3 makro jednoducho porovná názov aktívneho hárka s hárkom, ktorý je momentálne v slučke.
Ak sú názvy hárkov odlišné, makro v kroku 4 hárok skryje.
V kroku 5 prejdete späť a získate ďalší hárok. Po vyhodnotení všetkých hárkov sa makro skončí.
Všimnite si, že vo svojom makre používate xlsheetHidden. Táto vlastnosť použije predvolený stav skrytia, ktorý by ste normálne dostali, keď kliknete pravým tlačidlom myši na hárok a vyberiete možnosť Skryť. V tomto predvolenom stave skrytia môže používateľ kliknúť pravým tlačidlom myši na ľubovoľnú kartu a vybrať možnosť Odkryť, čím sa zobrazia všetky skryté hárky. Ale iný skrytý stav je tajnejší ako predvolený. Ak na skrytie hárkov použijete xlSheetVeryHidden, používatelia ich vôbec neuvidia – aj keď kliknú pravým tlačidlom myši na kartu a vyberú možnosť Odkryť. Jediný spôsob, ako odkryť hárok skrytý týmto spôsobom, je použiť VBA.
Ako používať makro
Ak chcete implementovať toto makro, môžete ho skopírovať a prilepiť do štandardného modulu:
Aktivujte Editor jazyka Visual Basic stlačením Alt+F11.
Kliknite pravým tlačidlom myši na názov projektu/zošita v okne projektu.
Vyberte Vložiť → Modul.
Zadajte alebo prilepte kód do novovytvoreného modulu.