Možda ćete htjeti sakriti neaktivne radne listove ovom makronaredbom. Excel vam ne dopušta da sakrijete sve listove u radnoj knjizi; barem jedan mora biti prikazan. Međutim, možete sakriti sve osim aktivnog lista.
Kako makro funkcionira
Makronaredba ovdje prolazi kroz radne listove i povezuje svaki naziv radnog lista s imenom aktivnog lista. Svaki put kada se makronaredba petlja, skriva svaki radni list bez premca.
Podmakro1()
'Korak 1: Deklarirajte svoje varijable
Dim ws As Worksheet
'Korak 2: Počnite pregledavati sve radne listove
Za svaki ws U ovoj radnoj knjizi.Radni listovi
'Korak 3: Provjerite naziv svakog radnog lista
Ako ws.Name <> ThisWorkbook.ActiveSheet.Name Then
'Korak 4: Sakrij plahtu
ws.Visible = xlSheetHidden
Završi ako
'Korak 5: Pređite na sljedeći radni list
Sljedeći ws
Kraj Sub
Korak 1 deklarira objekt pod nazivom ws. Ovaj korak stvara memorijski spremnik za svaki radni list kroz koji makronaredba prolazi.
Korak 2 započinje petlju, govoreći Excelu da procijeni sve radne listove u ovoj radnoj knjizi. Obratite pažnju na razliku između ThisWorkbook i ActiveWorkbook. Objekt ThisWorkBook odnosi se na radnu knjigu koja sadrži kod. Objekt ActiveWorkBook odnosi se na trenutno aktivnu radnu knjigu. Često vraćaju isti objekt, ali ako radna knjiga koja pokreće kod nije aktivna radna knjiga, vraćaju različite objekte. U ovom slučaju ne želite riskirati skrivanje listova u drugim radnim knjigama, pa koristite ThisWorkBook.
U 3. koraku makronaredba jednostavno uspoređuje naziv aktivnog lista s listom koji se trenutno vrti u petlji.
Ako su nazivi listova različiti, makronaredba skriva list u koraku 4.
U 5. koraku vraćate se u petlju da biste dobili sljedeći list. Nakon što se procijene svi listovi, makronaredba završava.
Imajte na umu da koristite xlsheetHidden u svojoj makronaredbi. Ovo svojstvo primjenjuje zadano stanje skrivanja koje biste inače dobili kada desnom tipkom miša kliknete list i odaberete Sakrij. U ovom zadanom stanju skrivanja, korisnik može desnom tipkom miša kliknuti bilo koju karticu i odabrati Unhide, što prikazuje sve skrivene listove. Ali drugo skriveno stanje je tajnije od zadanog. Ako koristite xlSheetVeryHidden da sakrijete svoje listove, korisnici ih uopće neće moći vidjeti — čak i ako desnom tipkom miša kliknu karticu i odaberu Unhide. Jedini način da otkrijete list skriven na ovaj način je korištenje VBA.
Kako koristiti makro
Da biste implementirali ovu makronaredbu, možete je kopirati i zalijepiti u standardni modul:
Aktivirajte Visual Basic Editor pritiskom na Alt+F11.
Desnom tipkom miša kliknite naziv projekta/radne knjige u prozoru projekta.
Odaberite Umetanje→Modul.
Upišite ili zalijepite kod u novostvoreni modul.