Joskus saatat haluta poistaa kaikki paitsi aktiivisen laskentataulukon Excel-työkirjasta. Näissä tilanteissa voit käyttää seuraavaa makroa.
Kuinka makro toimii
Tässä oleva makro kiertää laskentataulukoita ja sovittaa jokaisen laskentataulukon nimen aktiivisen arkin nimeen. Joka kerta, kun makro silmukoi, se poistaa kaikki yhteensopimattomat laskentataulukot. Huomaa DisplayAlerts-ominaisuuden käyttö vaiheessa 4. Tämä poistaa tehokkaasti Excelin varoitukset käytöstä, joten sinun ei tarvitse vahvistaa jokaista poistoa.
Alamakro1()
'Vaihe 1: Ilmoita muuttujasi
Dim ws As Worksheet
'Vaihe 2: Aloita kaikkien laskentataulukoiden selaaminen
Jokaiselle ws:lle ThisWorkbook.Worksheets
'Vaihe 3: Tarkista jokaisen laskentataulukon nimi
Jos ws.Name <> ThisWorkbook.ActiveSheet.Name Then
Vaihe 4: Poista varoitukset käytöstä ja poista ne
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = Tosi
Loppu Jos
'Vaihe 5: Siirry seuraavaan laskentataulukkoon
Seuraava ws
Lopeta ala
Makro ilmoittaa ensin objektin nimeltä ws. Tämä vaihe luo muistisäiliön jokaiselle laskentataulukolle, jonka se silmukan läpi käy.
Vaiheessa 2 makro aloittaa silmukan ja kertoo Excelille, että se arvioi kaikki tämän työkirjan laskentataulukot. ThisWorkbookin ja ActiveWorkbookin välillä on ero. ThisWorkBook-objekti viittaa työkirjaan, joka sisältää koodin. ActiveWorkBook-objekti viittaa tällä hetkellä aktiiviseen työkirjaan. Ne palauttavat usein saman objektin, mutta jos koodia käyttävä työkirja ei ole aktiivinen työkirja, ne palauttavat eri objekteja. Tässä tapauksessa et halua ottaa riskiä arkkien poistamisesta muista työkirjoista, joten käytät ThisWorkBookia.
Vaiheessa 3 makro yksinkertaisesti vertaa aktiivisen taulukon nimeä taulukkoon, jota parhaillaan silmukoidaan.
Vaiheessa 4, jos arkkien nimet ovat erilaiset, makro poistaa taulukon. Kuten mainittiin, käytät DisplayAlerts-toimintoa estämään kaikki vahvistustarkistukset Excelistä. Jos haluat saada varoituksen ennen arkkien poistamista, voit jättää sovelluksen pois. DisplayAlerts = False. DisplayAlerts-lauseen jättäminen pois varmistaa, että saat näkyviin viestin, jolloin voit perääntyä päätöksestä poistaa laskentataulukoita.
Vaiheessa 5 makro palaa takaisin saadakseen seuraavan arkin. Kun kaikki taulukot on arvioitu, makro päättyy.
Ohita DisplayAlerts-lauseke nähdäksesi varoitusviestit.
Kuinka käyttää makroa
Voit ottaa tämän makron käyttöön kopioimalla ja liittämällä sen vakiomoduuliin:
Aktivoi Visual Basic Editor painamalla Alt+F11.
Napsauta hiiren kakkospainikkeella projektin/työkirjan nimeä projektiikkunassa.
Valitse Lisää → Moduuli.
Kirjoita tai liitä koodi äskettäin luotuun moduuliin.
Kun käytät tätä työkirjaa ActiveWorkbookin sijaan makrossa, et voi suorittaa makroa henkilökohtaisesta makrotyökirjasta. Miksi? Koska ThisWorkbook viittaa henkilökohtaiseen makrotyökirjaan, ei työkirjaan, jota makroa tulisi soveltaa.