Včasih boste morda želeli izbrisati vse razen aktivnega delovnega lista v Excelovem delovnem zvezku. V teh primerih lahko uporabite naslednji makro.
Kako deluje makro
Makro se tukaj vrti po delovnih listih in ujema vsako ime delovnega lista z imenom aktivnega lista. Vsakič, ko se makro zanke, izbriše kateri koli delovni list brez ujemanja. Upoštevajte uporabo lastnosti DisplayAlerts v 4. koraku. To dejansko izklopi Excelova opozorila, tako da vam ni treba potrditi vsakega izbrisa.
Podmakro1()
1. korak: Deklarirajte svoje spremenljivke
Dim ws As Worksheet
2. korak: Začnite brskati po vseh delovnih listih
Za vsako ws In ThisWorkbook.Worksheets
3. korak: Preverite ime vsakega delovnega lista
Če ws.Name <> ThisWorkbook.ActiveSheet.Name Then
4. korak: Izklopite opozorila in izbrišite
Application.DisplayAlerts = False
ws.Izbriši
Application.DisplayAlerts = True
Konec Če
5. korak: Pojdite na naslednji delovni list
Naslednji ws
Končni sub
Makro najprej razglasi objekt, imenovan ws. Ta korak ustvari pomnilniško posodo za vsak delovni list, skozi katerega se vrti.
V 2. koraku se makro začne vrteti in pove Excelu, da bo ocenil vse delovne liste v tem delovnem zvezku. Obstaja razlika med ThisWorkbook in ActiveWorkbook. Objekt ThisWorkBook se nanaša na delovni zvezek, ki vsebuje kodo. Objekt ActiveWorkBook se nanaša na trenutno aktivni delovni zvezek. Pogosto vrnejo isti predmet, a če delovni zvezek, ki izvaja kodo, ni aktivni delovni zvezek, vrnejo različne predmete. V tem primeru ne želite tvegati brisanja listov v drugih delovnih zvezkih, zato uporabite ThisWorkBook.
V 3. koraku makro preprosto primerja ime aktivnega lista z listom, ki je trenutno v zanki.
V 4. koraku, če se imena listov razlikujejo, makro izbriše list. Kot že omenjeno, uporabite DisplayAlerts, da preprečite morebitna potrditvena preverjanja iz Excela. Če želite biti opozorjeni, preden izbrišete liste, lahko izpustite aplikacijo. DisplayAlerts = False. Če izpustite stavek DisplayAlerts, boste zagotovili prikazano sporočilo, kar vam bo omogočilo, da se umaknete iz odločitve za brisanje delovnih listov.
V 5. koraku se makro vrne nazaj, da dobi naslednji list. Ko so vsi listi ovrednoteni, se makro konča.
Če si želite ogledati opozorilna sporočila, izpustite stavek DisplayAlerts.
Kako uporabljati makro
Če želite implementirati ta makro, ga lahko kopirate in prilepite v standardni modul:
Aktivirajte urejevalnik Visual Basic s pritiskom na Alt+F11.
Z desno tipko miške kliknite ime projekta/delovnega zvezka v oknu projekta.
Izberite Vstavi → Modul.
V novo ustvarjeni modul vnesite ali prilepite kodo.
Ko v makru uporabljate ThisWorkbook namesto ActiveWorkbook, makra ne morete zagnati iz osebnega delovnega zvezka z makrami. zakaj? Ker bi se ThisWorkbook nanašal na osebni delovni zvezek makra, ne na delovni zvezek, za katerega bi se moral makro uporabiti.