Innehållsförteckning:
Video: 1. Quick Start | GEN 2.0 User Guide 2024
Ibland kanske du vill radera allt utom det aktiva arbetsbladet i en Excel-arbetsbok. I dessa situationer kan du använda följande makro.
Hur makroen fungerar
Makroet här löper genom kalkylbladen, som matchar varje kalkylblads namn till det aktiva arkets namn. Varje gång makroen slingrar, raderar den ett oöverträffat arbetsblad. Notera användningen av egenskapen DisplayAlerts i steg 4. Det stänger av Excel-varningarna så att du inte behöver bekräfta varje radering.
Sub Macro1 () 'Steg 1: Förklara dina variabler Dim ws As Worksheet' Steg 2: Börja slinga igenom alla kalkylblad För varje ws I ThisWorkbook. Arbetsblad 'Steg 3: Kontrollera varje kalkylbladnamn Om ws. Namn ThisWorkbook. ActiveSheet. Namn sedan 'Steg 4: Stäng av varningar och ta bort program. DisplayAlerts = False ws. Ta bort program. DisplayAlerts = True End If 'Steg 5: Gå till nästa arbetsblad Nästa ws Slut Sub
Makroet förstklarar ett objekt som heter ws. Detta steg skapar en minnesbehållare för varje arbetsblad som det går igenom.
I steg 2 börjar makroen att slinga och berättar att Excel ska utvärdera alla kalkylblad i den här arbetsboken. Det finns en skillnad mellan ThisWorkbook och ActiveWorkbook. Objektet ThisWorkBook avser arbetsboken som innehåller koden. ActiveWorkBook-objektet refererar till den aktuella aktiva arbetsboken. De returnerar ofta samma föremål, men om arbetsboken som kör koden inte är den aktiva arbetsboken, returnerar de olika objekt. I det här fallet vill du inte riskera att radera ark i andra arbetsböcker, så du använder ThisWorkBook.
I steg 3 jämför makroet enkelt det aktiva arknamnet till det ark som för närvarande är loopat.
I steg 4, om arknamnen är olika, raderar makrot arket. Som nämnts använder du DisplayAlerts för att undertrycka eventuella bekräftelsekontroller från Excel. Om du vill bli varnad innan du raderar arken kan du släppa bort Program. DisplayAlerts = False. Om du misslyckas med DisplayAlerts-satsen ser du till att du får meddelandet som visas, så att du kan ta tillbaka beslutet att radera kalkylblad.
I steg 5 slår makroet tillbaka för att få nästa ark. När alla lakan är utvärderade slutar makroen.
Ta bort meddelandet Display-Alerts för att se varningsmeddelanden.Så här använder du makroet
För att implementera detta makro kan du kopiera och klistra in det i en standardmodul:
-
Aktivera Visual Basic Editor genom att trycka på Alt + F11.
-
Högerklicka på projekt / arbetsbokens namn i projektfönstret.
-
Välj Infoga → Modul.
-
Skriv eller klistra in koden i den nyskapade modulen.
När du använder ThisWorkbook i stället för ActiveWorkbook i ett makro, kan du inte köra makroet från den personliga makroarbetboken. Varför? Eftersom ThisWorkbook skulle referera till den personliga makro arbetsboken, inte till arbetsboken som makroen ska tillämpas på.