En Excel Macro til Slett alle, men Active Worksheet

Til tider kan det være lurt å slette alle unntatt det aktive regnearket i en Excel-arbeidsbok. I slike situasjoner kan du bruke følgende makro.

Hvordan makro verk

Makro her looper gjennom regnearkene, matchende hvert regneark navn til det aktive arket navn. Hver gang de makro loops, sletter det noe enestående regneark. Legg merke til bruken av DisplayAlerts eiendommen i trinn 4. Dette slår effektivt av Excel advarsler, slik at du ikke trenger å bekrefte hvert slette
Sub Makro1 () 'Trinn 1:. Erklærer variabler Dim ws As Worksheet'Step 2: Begynn looping gjennom alle regneark for hver ws I ThisWorkbook.Worksheets'Step 3: Kontroller hvert regneark navn Hvis ws.Name < > ThisWorkbook.ActiveSheet.Name Then'Step 4: Slå av advarsler og slette Application.DisplayAlerts = False ws.Delete Application.DisplayAlerts = True End If'Step 5: Loop til neste regneark Neste wsEnd Sub

Makro første erklærer et objekt kalt ws. Dette trinnet oppretter en minne container for hvert regneark den går gjennom.

I trinn 2 begynner makro til loop, forteller Excel vil evaluere alle regnearkene i denne arbeidsboken. Det er en forskjell mellom Thisworkbook og Active. Thisworkbook objektet refererer til arbeidsboken som inneholder koden. Den Active objektet refererer til det aktive arbeidsboken. De ofte tilbake samme objekt, men hvis arbeidsboken kjører koden er ikke den aktive arbeidsboken, de kommer tilbake forskjellige stedene. I dette tilfellet, trenger du ikke ønsker å risikere å slette ark i andre arbeidsbøker, slik at du bruker Thisworkbook.

I trinn 3, bare sammenmakro det aktive arket navn til arket som er under løkker.

I trinn 4, hvis plate navnene er forskjellige, sletter makro arket. Som nevnt, bruker du DisplayAlerts å undertrykke noen bekreftelse sjekker fra Excel. Hvis du ønsker å bli varslet før du sletter arkene, kan du utelater Application. DisplayAlerts = False. Utelate DisplayAlerts uttalelsen vil sikre at du får meldingen som vises, slik at du kan gå ut av beslutningen om å slette regneark.

I trinn 5, looper makro tilbake for å få neste ark. Etter at alle arkene er evaluert, makro endene.
Utelater DisplayAlerts statement å se advarsler.
Hvordan bruke makroen

For å implementere denne makroen, kan du kopiere og lime den inn i en standard modul:..

Aktiver Visual Basic Editor ved å trykke Alt + F11

Høyreklikk navnet på prosjektet /arbeidsbok i prosjektvinduet

Velg Sett → Module

Skriv eller lim inn koden i den nyopprettede modulen
Når du bruker Thisworkbook i stedet for Active i en makro, kan du ikke kjøre.. makro fra personlig makro arbeidsbok. Hvorfor? Fordi Thisworkbook vil henvise til personlig makro arbeidsbok, ikke til arbeidsboken som makroen skal gjelde. Anmeldelser



Previous:
Next Page:No