Excel VBA Delete Sheet

Vid den här tiden vet vi alla hur man kan avskydda ark på vilket ark som helst. VBA Delete-ark har samma sätt att skriva kod som ett Unprotect-ark. VBA Delete Sheet, som namnet säger används för att radera det valda kalkylbladet automatiskt. För att använda VBA Delete-funktionen för att radera ett ark måste vi först identifiera vilket ark vi vill ta bort. VBA Delete-funktion fungerar när vi kallar namnet på arket eller sekvensen på det arket och sedan använder Delete-funktionen efter det. Nedan är syntaxen för VBA Delete Sheet.

Ovan visade syntax kommer att användas på många olika sätt i kommande exempel.

Hur tar jag bort ark i Excel VBA?

Vi lär dig hur du tar bort ark i Excel med hjälp av VBA-koden.

Du kan ladda ner detta exempel på VBA Delete Sheet här - VBA Delete Sheet Exempel

VBA Delete Sheet - Exempel # 1

I det här exemplet ser vi ett enkelt sätt att ta bort alla kalkylblad. För detta följer du stegen nedan:

Steg 1: Öppna en modul från Infoga-menyfliken.

Steg 2: Skriv nu underkategorin i VBA Delete Sheet. Vi kan använda valfritt annat namn för att definiera koden.

Koda:

 Sub VBA_DeleteSheet () End Sub 

Steg 3: Använd kalkylarkobjekt och välj det ark som vi vill ta bort. Här heter det arket som Sheet1 .

Koda:

 Sub VBA_DeleteSheet () Worksheets ("Sheet1"). Avsluta under 

Steg 4: Använd nu Delete- funktionen efter namnet på det valda bladet.

Koda:

 Sub VBA_DeleteSheet () Worksheets ("Sheet1"). Radera End Sub 

Steg 5: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen.

Vi ser att systemet kommer att uppmana oss med en varning som excel kommer att ta bort arket permanent. Klicka på Ta bort för att gå vidare.

Steg 6: Vi kommer att se bladet “Sheet1” nu raderas.

Steg 7: Antag att vi försöker ta bort ett ark som inte finns eller om vi hamnar felaktigt. Nedan försökte jag ange namnet på arket som inte finns där i excel-filen som visas nedan.

Koda:

 Sub VBA_DeleteSheet () Worksheets ("Sheet2"). Radera End Sub 

Steg 8: Kör nu koden. Vi kommer att se, VBA ger oss felet "Subscript out of Range" vilket innebär att vi har valt ett ark som inte finns.

VBA Delete Sheet - Exempel # 2

Det finns ett annat sätt att implementera VBA Delete Sheet. Detta är inte så liten kod som metoden som vi har sett i exempel 1. Men också ett enkelt sätt att implementera. För detta följer du stegen nedan:

Steg 1: Skriv delproceduren för VBA Delete-arket som visas nedan.

Koda:

 Sub VBA_DeleteSheet2 () End Sub 

Steg 2: Välj nu en variabel för kalkylblad med valfritt namn. Här har vi valt ExSheet som visas nedan.

Koda:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet End Sub 

Steg 3: Ställ nu den definierade variabeln med Worksheets-funktionen och lägg där namnet på arket som vi vill ta bort. Här återigen är namnet “ Sheet1 ”.

Koda:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") End Sub 

Steg 4: Tilldela nu den definierade variabeln med Delete-funktionen som visas nedan.

Koda:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") ExSheet.Delete End Sub 

Steg 5: Kör nu koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen.

Vi får igen ett snabbmeddelande eftersom vi fortfarande vill fortsätta att ta bort det valda bladet. Klicka på Ta bort för att fortsätta.

VBA Delete Sheet - Exempel # 3

I det här exemplet ser vi hur man tar bort ett ark som för närvarande är aktivt. För detta följer du stegen nedan.

Steg 1: Skriv delproceduren i VBA Delete Sheet som visas nedan.

Koda:

 Sub VBA_DeleteSheet3 () End Sub 

Steg 2: Använd samma kodrad för att deklarera variabeln som kalkylblad som visas nedan som vi har använt i exemplen ovan.

Koda:

 Sub VBA_DeleteSheet3 () Dim ExSheet As Worksheet End Sub 

Steg 3: Öppna nu en för nästa slinga som visas nedan.

Koda:

 Sub VBA_DeleteSheet3 () Dim ExSheet Som arbetsblad för nästa ExSheet End Sub 

Steg 4: Nu kommer vi att välja det aktiva aktuella kalkylbladet från alla kalkylblad som finns tillgängliga i Excel Workbook.

Koda:

 Sub VBA_DeleteSheet3 () Dim ExSheet som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets Nästa ExSheet End Sub 

Steg 5: När det nu öppnade kalkylbladet har valts använder vi Delete- funktionen med variabeln ExSheet för att radera det.

Koda:

 Sub VBA_DeleteSheet3 () Dim ExSheet som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Steg 6: Sätt nu koden och kör den om det inte finns något fel. Detta kommer att ta bort det aktiva kalkylbladet från den öppnade arbetsboken som är vald.

VBA Delete Sheet - Exempel # 4

Koden som vi har sett i exempel 3 kan också ses på ett annat sätt. Vi kan använda If End If Loop tillsammans med For Next loop.

Steg 1: Låt oss bara överväga samma kod som vi har sett i exemplet ovan-3.

Koda:

 Sub VBA_DeleteSheet4 () Dim ExSheet som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Steg 2: Den här koden raderar det ark som för närvarande är aktivt. Vad händer om vi förbättrar detta villkor genom att välja det ark som för närvarande är aktivt och med exakt samma namn? Ja, för detta måste vi öppna If End If loop där vi kommer att skriva villkoret för detta precis efter For loop.

Koda:

 Sub VBA_DeleteSheet4 () Dim ExSheet som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets If ExSheet.Delete End If Next ExSheet End Sub 

Steg 3: Skriv nu villkoret i If loop som om namnet på arket under variabeln ExSheet är lika och exakt som “ Sheet1 ” (Eller något annat arknamn), radera sedan det arket med variabeln ExSheet.

Koda:

 Sub VBA_DeleteSheet4 () Dim ExSheet Som arbetsblad för varje ExSheet i ActiveWorkbook.Worksheets If ExSheet.Name "Sheet1" Sedan ExSheet.Delete End Om Next ExSheet End Sub 

Steg 4: Vi kan sammanställa koden här eftersom det är många steg som är involverade. Kör sedan koden efter det.

Återigen får vi snabbmeddelandet där vi fortfarande vill ta bort det arket eller inte. Genom att klicka på Ta bort raderas det valda ark.

Fördelar med Excel VBA Delete Sheet

  • Detta är ganska användbart när vi har en enorm uppsättning data i de olika ark som vi behöver ta bort ganska ofta när uppgiften är klar.
  • Koden som visas i exempel 1 är den enklaste koden att tillämpa.
  • Vi kan till och med välja mer än ett ark som vi vill ta bort.

Saker att komma ihåg

  • Vi kan välja arkets sekvens i stället för det arknamn som vi vill ta bort.
  • Anledningen bakom att få varningen innan du tar bort arket är att Excel uppmanar oss att kontrollera om det finns några data som vi inte vill förlora.
  • När vi är klar med kodning, spara excel-filen i makro aktivera excel-format för att undvika att förlora den skrivna koden.

Rekommenderade artiklar

Detta är en guide till VBA Delete Sheet. Här diskuterar vi hur man tar bort ark i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA-samling (exempel)
  2. VBA IF-uttalanden | Excel-mallar
  3. Hur använder jag Excel VBA sorteringsfunktion?
  4. VBA While Loop (exempel med Excel-mall)
  5. VBA Environ

Kategori: