Kartais „Excel“ darbaknygėje galite ištrinti visus, išskyrus aktyvųjį, darbalapį. Tokiais atvejais galite naudoti šią makrokomandą.
Kaip veikia makrokomandas
Čia esanti makrokomanda eina per darbalapius, suderindama kiekvieno darbalapio pavadinimą su aktyvaus lapo pavadinimu. Kiekvieną kartą makrokomandos ciklas ištrina visus nesuderintus darbalapius. Atkreipkite dėmesį į ypatybės „DisplayAlerts“ naudojimą 4 veiksme. Tai veiksmingai išjungia „Excel“ įspėjimus, todėl jums nereikės patvirtinti kiekvieno ištrynimo.
Sub-makro1()
1 veiksmas: deklaruokite savo kintamuosius
Dim ws kaip darbalapis
2 veiksmas: pradėkite peržiūrėti visus darbalapius
Kiekvienam ws Šioje darbaknygėje.Darbo lapuose
„3 veiksmas: patikrinkite kiekvieno darbalapio pavadinimą
Jei ws.Name <> ThisWorkbook.ActiveSheet.Name Tada
„4 veiksmas: išjunkite įspėjimus ir ištrinkite
Application.DisplayAlerts = Netiesa
ws.Ištrinti
Application.DisplayAlerts = Tiesa
Pabaiga, jei
5 veiksmas: pereikite prie kito darbalapio
Kitas ws
Pabaigos sub
Makrokomandas pirmiausia deklaruoja objektą, vadinamą ws. Šis veiksmas sukuria atminties talpyklą kiekvienam darbalapiui, per kurį jis perkeliamas.
Atliekant 2 veiksmą makrokomanda pradeda ciklą, pranešdama programai „Excel“, kad ji įvertins visus šios darbaknygės darbalapius. Yra skirtumas tarp ThisWorkbook ir ActiveWorkbook. Objektas ThisWorkBook nurodo darbaknygę, kurioje yra kodas. ActiveWorkBook objektas nurodo šiuo metu aktyvią darbaknygę. Jie dažnai grąžina tą patį objektą, bet jei darbaknygė, kurioje veikia kodas, nėra aktyvi darbaknygė, jie grąžina skirtingus objektus. Tokiu atveju nenorite rizikuoti ištrinti lapus kitose darbaknygėse, todėl naudokite ThisWorkBook.
3 veiksme makrokomanda tiesiog lygina aktyvaus lapo pavadinimą su lapu, kuris šiuo metu yra susietas.
4 veiksme, jei lapų pavadinimai skiriasi, makrokomanda ištrina lapą. Kaip minėta, jūs naudojate „DisplayAlerts“, kad užblokuotumėte visus patvirtinimo patikrinimus iš „Excel“. Jei norite gauti įspėjimą prieš ištrindami lapus, galite praleisti programą. DisplayAlerts = klaidinga. Praleidę „DisplayAlerts“ teiginį užtikrinsite, kad bus rodomas pranešimas, todėl galėsite atsisakyti sprendimo ištrinti darbalapius.
5 veiksme makrokomanda grįžta atgal, kad gautų kitą lapą. Įvertinus visus lapus, makrokomandas baigiasi.
Praleiskite DisplayAlerts teiginį, kad pamatytumėte įspėjamuosius pranešimus.
Kaip naudoti makrokomandą
Norėdami įdiegti šią makrokomandą, galite nukopijuoti ir įklijuoti ją į standartinį modulį:
Suaktyvinkite Visual Basic redaktorių paspausdami Alt + F11.
Dešiniuoju pelės mygtuku spustelėkite projekto / darbaknygės pavadinimą projekto lange.
Pasirinkite Įterpti → Modulis.
Įveskite arba įklijuokite kodą naujai sukurtame modulyje.
Kai makrokomandoje naudojate ThisWorkbook vietoj ActiveWorkbook, negalite paleisti makrokomandos iš asmeninės makrokomandos darbaknygės. Kodėl? Kadangi ThisWorkbook būtų nuoroda į asmeninę makrokomandos darbaknygę, o ne į darbaknygę, kuriai turėtų būti taikoma makrokomanda.