Odstranit list Excel VBA

Do této doby všichni víme, jak odemknout libovolný list. List VBA Delete má stejný způsob zápisu kódu jako list Unprotect. VBA Delete Sheet, jak už název napovídá, se používá pro automatické mazání vybraného listu. Aby bylo možné pomocí funkce VBA Delete odstranit jakýkoli list, musíme nejprve určit, který list chceme odstranit. Funkce VBA Delete funguje, když voláme název listu nebo sekvence tohoto listu a poté použijeme funkci Delete. Níže je uvedena syntaxe listu VBA Delete Sheet.

Výše uvedená syntaxe bude v následujících příkladech použita mnoha různými způsoby.

Jak odstranit list v Excel VBA?

Naučíme se, jak odstranit list v Excelu pomocí kódu VBA.

Tento příklad listu VBA pro odstranění si můžete stáhnout zde - příklad listu VBA pro odstranění listu

Smazat list VBA - Příklad č. 1

V tomto příkladu uvidíme jednoduchý způsob, jak odstranit jakýkoli list. Postupujte podle následujících kroků:

Krok 1: Otevřete modul z nabídky Vložit.

Krok 2: Nyní napište podkategorii listu VBA Delete Sheet. K definování kódu můžeme použít jakékoli jiné jméno.

Kód:

 Sub VBA_DeleteSheet () End Sub 

Krok 3: Použijte objekt Listy a vyberte list, který chceme odstranit. Zde je tento list pojmenován jako List1 .

Kód:

 Sub VBA_DeleteSheet () Listy ("List1"). End Sub 

Krok 4: Nyní použijte funkci Odstranit za názvem vybraného listu.

Kód:

 Sub VBA_DeleteSheet () Pracovní listy ("List1"). Odstranit End Sub 

Krok 5: Spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát.

Uvidíme, že systém nás vyzve s upozorněním, které Excel dokonale odstraní list. Pro pokračování klikněte na Smazat .

Krok 6: Uvidíme list „List1“ je nyní odstraněn.

Krok 7: Předpokládejme, že se pokusíme odstranit list, který neexistuje, nebo pokud nakonec uvedeme nesprávný název. Níže jsem se pokusil zadat název listu, který v excelovém souboru není, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet () Pracovní listy ("List2"). Odstranit End Sub 

Krok 8: Nyní spusťte kód. Uvidíme, VBA nám dává chybu „Dolní index mimo rozsah“, což znamená, že jsme vybrali list, který neexistuje.

Smazat list VBA - Příklad č. 2

Existuje jiný způsob, jak implementovat VBA Delete Sheet. Toto není tak malý kód jako metoda, kterou jsme viděli v příkladu 1. Ale také snadný způsob implementace. Postupujte podle následujících kroků:

Krok 1: Napište podprogram listu VBA Delete, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet2 () End Sub 

Krok 2: Nyní vyberte proměnnou pro list s libovolným názvem. Zde jsme vybrali ExSheet, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet End Sub 

Krok 3: Nyní nastavte definovanou proměnnou pomocí funkce Pracovní listy a tam vložte název listu, který chceme odstranit. Zde je opět název listuList1 “.

Kód:

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

Krok 4: Nyní přiřaďte definovanou proměnnou funkci Smazat, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet Set ExSheet = Pracovní listy ("Sheet1") ExSheet.Delete End Sub 

Krok 5: Nyní spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát.

Znovu se zobrazí výzva, protože stále chceme pokračovat v mazání vybraného listu. Pokračujte kliknutím na Odstranit .

Smazat list VBA - Příklad č. 3

V tomto příkladu uvidíme, jak odstranit list, který je aktuálně aktivní. Postupujte podle následujících kroků.

Krok 1: Zapište podproces listu odstranění VBA, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet3 () End Sub 

Krok 2: Pro deklarování proměnné jako listu použijte stejný řádek kódu, jak je uvedeno níže, které jsme použili ve výše uvedených příkladech.

Kód:

 Sub VBA_DeleteSheet3 () Dim ExSheet As Endsheet Sub Sub 

Krok 3: Nyní otevřete smyčku For Next, jak je ukázáno níže.

Kód:

 Sub VBA_DeleteSheet3 () Dim ExSheet jako list pro další ExSheet End Sub 

Krok 4: Nyní vybereme aktivní aktuální list ze všech listů dostupných v sešitu Excel.

Kód:

 Sub VBA_DeleteSheet3 () Dim ExSheet jako list pro každou ExSheet v ActiveWorkbook.Worksheets Další ExSheet End Sub Sub 

Krok 5: Po výběru aktuálně otevřeného listu použijeme funkci Smazat s proměnnou ExSheet .

Kód:

 Sub VBA_DeleteSheet3 () Dim ExSheet jako list pro každou ExSheet v ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Krok 6: Nyní zkompilujte kód a spusťte jej, pokud není nalezena žádná chyba. Tím odstraníte aktivní list z otevřeného sešitu, který je vybrán.

Smazat list VBA - Příklad č. 4

Kód, který jsme viděli v příkladu 3, lze také vidět ještě jednou. Můžeme použít If End If Loop spolu se smyčkou For Next.

Krok 1: Uvažujme pouze stejný kód, jaký jsme viděli ve výše uvedeném příkladu 3.

Kód:

 Sub VBA_DeleteSheet4 () Dim ExSheet jako list pro každou ExSheet v ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Krok 2: Tento kód odstraní list, který je aktuálně aktivní. Co když tento stav zlepšíme výběrem listu, který je aktuálně aktivní a se stejným názvem? Ano, z tohoto důvodu musíme otevřít If End If loop, kde zapíšeme podmínku právě za For loop.

Kód:

 Sub VBA_DeleteSheet4 () Dim ExSheet jako list pro každou ExSheet v ActiveWorkbook.Worksheet If ExSheet.Delete End Pokud další ExSheet End Sub 

Krok 3: Nyní napište podmínku do If if loop, jako by název listu v proměnné ExSheet byl stejný a přesný jako „ Sheet1 “ (nebo jakýkoli jiný název listu), pak tento list vymažte pomocí proměnné ExSheet.

Kód:

 Sub VBA_DeleteSheet4 () Dim ExSheet jako list pro každou ExSheet v ActiveWorkbook.Worksheet Pokud ExSheet.Name "Sheet1" Pak ExSheet.Delete End Pokud další ExSheet End Sub 

Krok 4: Zde můžeme kód zkompilovat, protože je zapojeno mnoho kroků. Poté spusťte kód.

Znovu dostaneme rychlou zprávu, kde chceme tento list stále smazat nebo ne. Kliknutím na Odstranit odstraníte vybraný list.

Výhody listu Excel VBA pro odstranění

  • To je docela užitečné, když máme obrovskou sadu dat v různých listech, které musíme po dokončení úkolu poměrně často vymazat.
  • Kód uvedený v příkladu 1 je nejjednodušší použitelný kód.
  • Můžeme dokonce vybrat více než jeden list, který chceme odstranit.

Co si pamatovat

  • Můžeme zvolit také pořadí listu místo názvu listu, které chceme odstranit.
  • Důvodem získání upozornění před odstraněním listu je, že Excel nás vyzve, abychom zkontrolovali, zda existují data, která nechceme ztratit.
  • Jakmile skončíme s kódováním, uložte soubor Excel do Makra, který umožňuje formát Excel, aby nedošlo ke ztrátě psaného kódu.

Doporučené články

Toto je průvodce po VBA Delete Sheet. Zde diskutujeme o tom, jak odstranit list v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Kolekce VBA (příklady)
  2. VBA IF Prohlášení | Šablony Excelu
  3. Jak používat funkci řazení Excel VBA?
  4. VBA while Loop (příklady se šablonou Excel)
  5. VBA Environ

Kategorie: