Dažreiz Excel darbgrāmatā varat dzēst visu, izņemot aktīvo darblapu. Šādās situācijās varat izmantot šādu makro.
Kā darbojas makro
Šeit esošais makro cilpas cauri darblapām, saskaņojot katras darblapas nosaukumu ar aktīvās lapas nosaukumu. Katru reizi, kad makro cilpas, tas dzēš visas nesaskaņotās darblapas. Ņemiet vērā, ka 4. darbībā tiek izmantots rekvizīts DisplayAlerts. Tas efektīvi izslēdz Excel brīdinājumus, tāpēc jums nav jāapstiprina katra dzēšana.
Apakšmakro1()
1. darbība: deklarējiet savus mainīgos
Dim ws kā darblapa
2. darbība: sāciet pārlūkot visas darblapas
Katram ws šajā darbgrāmatā.Darblapas
3. darbība: pārbaudiet katras darblapas nosaukumu
Ja ws.Name <> ThisWorkbook.ActiveSheet.Name Tad
4. darbība. Izslēdziet brīdinājumus un izdzēsiet tos
Application.DisplayAlerts = False
ws.Dzēst
Application.DisplayAlerts = True
Beigas Ja
5. darbība: pārejiet uz nākamo darblapu
Nākamais vs
Beigt apakš
Makro vispirms deklarē objektu ar nosaukumu ws. Veicot šo darbību, katrai darblapai tiek izveidots atmiņas konteiners.
2. darbībā makro sāk darboties, norādot programmai Excel, ka tas novērtēs visas šīs darbgrāmatas darblapas. Pastāv atšķirība starp ThisWorkbook un ActiveWorkbook. Objekts ThisWorkBook attiecas uz darbgrāmatu, kurā ir kods. ActiveWorkBook objekts attiecas uz pašlaik aktīvo darbgrāmatu. Viņi bieži atgriež vienu un to pašu objektu, bet, ja darbgrāmata, kurā darbojas kods, nav aktīvā darbgrāmata, tie atgriež dažādus objektus. Šajā gadījumā jūs nevēlaties riskēt ar lapu dzēšanu citās darbgrāmatās, tāpēc izmantojat ThisWorkBook.
3. darbībā makro vienkārši salīdzina aktīvās lapas nosaukumu ar lapu, kurai pašlaik tiek veikta cilpa.
Ja 4. darbībā lapu nosaukumi atšķiras, makro izdzēš lapu. Kā minēts, jūs izmantojat DisplayAlerts, lai izslēgtu jebkādas apstiprinājuma pārbaudes no Excel. Ja vēlaties saņemt brīdinājumu pirms lapu dzēšanas, varat izlaist programmu. DisplayAlerts = False. Izlaižot DisplayAlerts paziņojumu, tiks parādīts ziņojums, kas ļaus jums atteikties no lēmuma dzēst darblapas.
5. darbībā makro atgriežas, lai iegūtu nākamo lapu. Kad visas lapas ir novērtētas, makro beidzas.
Izlaidiet DisplayAlerts paziņojumu, lai redzētu brīdinājuma ziņojumus.
Kā lietot makro
Lai ieviestu šo makro, varat to kopēt un ielīmēt standarta modulī:
Aktivizējiet Visual Basic redaktoru, nospiežot Alt+F11.
Ar peles labo pogu noklikšķiniet uz projekta/darbgrāmatas nosaukuma projekta logā.
Izvēlieties Ievietot → Modulis.
Ierakstiet vai ielīmējiet kodu jaunizveidotajā modulī.
Ja makro izmantojat ThisWorkbook, nevis ActiveWorkbook, jūs nevarat palaist makro no personīgās makro darbgrāmatas. Kāpēc? Tā kā ThisWorkbook attiektos uz personīgo makro darbgrāmatu, nevis uz darbgrāmatu, kurai makro būtu jāattiecina.