Ponekad ćete možda htjeti izbrisati sve osim aktivnog radnog lista u radnoj knjizi programa Excel. U tim situacijama možete koristiti sljedeću makronaredbu.
Kako makro funkcionira
Makronaredba ovdje prolazi kroz radne listove, uparujući naziv svakog radnog lista s imenom aktivnog lista. Svaki put kada se makronaredba ponovi, briše svaki radni list bez podudaranja. Obratite pažnju na korištenje svojstva DisplayAlerts u 4. koraku. Ovo učinkovito isključuje Excelova upozorenja tako da ne morate potvrđivati svako brisanje.
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: Isključite upozorenja i izbrišite
Application.DisplayAlerts = False
ws.Izbriši
Application.DisplayAlerts = Točno
Završi ako
'Korak 5: Pređite na sljedeći radni list
Sljedeći ws
Kraj Sub
Makro prvo deklarira objekt koji se zove ws. Ovaj korak stvara memorijski spremnik za svaki radni list kroz koji prolazi.
U koraku 2, makronaredba se počinje vrtiti u petlji, govoreći Excelu da će procijeniti sve radne listove u ovoj radnoj knjizi. Postoji razlika 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 brisanje 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.
U 4. koraku, ako su nazivi listova različiti, makronaredba briše list. Kao što je spomenuto, koristite DisplayAlerts za suzbijanje svih provjera potvrde iz Excela. Ako želite biti upozoreni prije brisanja listova, možete izostaviti Application. DisplayAlerts = False. Izostavljanje izjave DisplayAlerts osigurat će vam da dobijete prikazanu poruku, što će vam omogućiti da odustanete od odluke o brisanju radnih listova.
U 5. koraku makronaredba se vraća u petlju kako bi dobila sljedeći list. Nakon što se procijene svi listovi, makronaredba završava.
Izostavite iskaz DisplayAlerts da biste vidjeli poruke upozorenja.
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.
Kada koristite ThisWorkbook umjesto ActiveWorkbook u makronaredbi, ne možete pokrenuti makronaredbu iz radne knjige osobne makronaredbe. Zašto? Budući da bi se ThisWorkbook odnosio na osobnu radnu knjigu makronaredbi, a ne na radnu knjigu na koju bi se makronaredba trebala primijeniti.