Innholdsfortegnelse:
Video: Top 25 Excel 2016 Tips and Tricks 2025
Noen ganger vil du kanskje slette alt annet enn det aktive regnearket i en Excel-arbeidsbok. I disse situasjonene kan du bruke følgende makro.
Slik fungerer makroen
Makroen her løper gjennom regnearkene, som samsvarer med hvert regnearknavn til det aktive arkets navn. Hver gang makroen slår, slettes det et uovertruffen regneark. Legg merke til bruken av egenskapen DisplayAlerts i trinn 4. Dette slår av Excel-advarslene, slik at du ikke må bekrefte hver sletting.
Sub Macro1 () 'Trinn 1: Erklær dine variabler Dim ws As Worksheet' Trinn 2: Start looping gjennom alle regneark For hver ws I ThisWorkbook. Regneark 'Trinn 3: Kontroller hvert regnearknavn Hvis ws. Navn ThisWorkbook. Aktivt ark. Name Then 'Step 4: Slå av advarsler og slett Application. DisplayAlerts = False ws. Slett program. DisplayAlerts = True End Hvis 'Trinn 5: Loop til neste regneark Next ws End Sub
Makroen forklarer først et objekt som heter ws. Dette trinnet oppretter en minnebeholder for hvert regneark det løper gjennom.
I trinn 2 begynner makroen å løkke, forteller Excel, det vil evaluere alle regneark i denne arbeidsboken. Det er en forskjell mellom ThisWorkbook og ActiveWorkbook. ThisWorkBook-objektet refererer til arbeidsboken som inneholder koden. ActiveWorkBook-objektet refererer til den aktive arbeidsboken. De returnerer ofte det samme objektet, men hvis arbeidsboken som kjører koden, ikke er den aktive arbeidsboken, returnerer de forskjellige objekter. I dette tilfellet vil du ikke risikere å slette ark i andre arbeidsbøker, så du bruker ThisWorkBook.
I trinn 3 sammenligner makroen bare det aktive arknavnet til arket som for øyeblikket er sløyfet.
I trinn 4, hvis arknavnene er forskjellige, sletter makroen arket. Som nevnt, bruker du DisplayAlerts til å undertrykke eventuelle bekreftelseskontroller fra Excel. Hvis du vil bli advart før du sletter arkene, kan du utelate Application. DisplayAlerts = False. Udelatelse av DisplayAlerts-setningen sikrer at du får meldingen vist, slik at du kan gå tilbake til beslutningen om å slette regneark.
I trinn 5 løper makroen tilbake for å få neste ark. Etter at alle arkene er evaluert, slutter makroen.
Slik bruker du makroen
For å implementere denne makroen, kan du kopiere og lime den inn i en standardmodul:
-
Aktiver Visual Basic Editor ved å trykke på Alt + F11.
-
Høyreklikk prosjektet / arbeidsboknavnet i prosjektvinduet.
-
Velg Sett inn → Modul.
-
Skriv eller lim inn koden i den nylig opprettede modulen.
Når du bruker ThisWorkbook i stedet for ActiveWorkbook i en makro, kan du ikke kjøre makroen fra den personlige makro arbeidsboken. Hvorfor? Fordi ThisWorkbook vil referere til den personlige makro arbeidsboken, ikke til arbeidsboken som makroen skal gjelde for.
