Jak odstranit listy v aplikaci Excel (zkratky + VBA)

Při práci s Excelem trávíte většinu času na listu (což je oblast, kde jsou všechny buňky a vše, co se tam děje).

Efektivní práce s Excelem také znamená, že musíte pracovat s více listy ve stejném sešitu.

Excel vám umožňuje snadno přidat do sešitu více listů, současně můžete tyto listy také snadno odstranit.

V tomto tutoriálu k Excelu vám ukážu, jak rychle odstranit listy v Excelu. K odstranění listů v aplikaci Excel bych pokryl více metod, například použití klávesových zkratek, možností na pásu karet a VBA.

Poznámka: V tomto tutoriálu budu používat slova „list“ a „list“ zaměnitelně. Ale abych vám řekl rozdíl, Listy by obsahovaly jak pracovní listy, tak tabulky grafů, ale protože tabulky grafů se běžně nepoužívají, pokaždé, když použiji slovo list, považuji to za pracovní list.

Odstranit listy pomocí voleb pravým tlačítkem

Nejjednodušší způsob, jak odstranit list v aplikaci Excel, je použít tuto jednoduchou techniku ​​dvojitého kliknutí myší.

Předpokládejme, že máte list, který má tři listy, jak je uvedeno níže, a chcete odstranit List1.

Níže jsou uvedeny kroky, jak to provést:

  1. Klikněte pravým tlačítkem na list, který chcete odstranit
  2. Klikněte na možnost Odstranit
  3. Ve výzvě, která se zobrazí, klikněte na tlačítko Odstranit

Výše uvedenou techniku ​​můžete také použít na listy, které nejsou ani aktivním listem. Pokud jsem například v současné době na Sheet1 a chci odstranit Shee3, pak mohu jednoduše kliknout pravým tlačítkem na Sheet3 a odstranit jej.

Stejnou techniku ​​můžete použít také odstranit více listů najednou.

Pokud například chci odstranit Sheet2 a Sheet3 najednou, mohu podržet ovládací klávesu a kliknout na Sheet2 a Sheet3 jeden po druhém (přičemž stále držím ovládací klávesu).

Podržením ovládacího tlačítka mi Excel umožní vybrat více listů najednou. Jakmile skončím s výběrem požadovaných listů, mohu opustit ovládací klíč. nyní mohu kliknout pravým tlačítkem na kteroukoli z vybraných karet listů a kliknout na odstranit.

Pamatujte, že nemůžete odstranit všechny listy v sešitu v aplikaci Excel. v sešitu musí být vždy alespoň jeden list. pokud se pokusíte odstranit všechny listy (nebo jediný aktivní list), zobrazí se výzva, která vám řekne, že to nemáte povoleno

Klávesové zkratky pro odstranění pracovních listů

K odstranění listů v Excelu neexistuje jedna, ale dvě a půl klávesové zkratky.

Říkám dva a půl, protože jednu ze zkratek používá myš i klávesnici (a stále je to rychlejší způsob)

Hybridní klávesová zkratka pro odstranění listu

Klikněte pravým tlačítkem + D

Chcete-li odstranit vybraný list nebo listy, klepněte pravým tlačítkem a poté stiskněte klávesu D na klávesnici.

Osobně to považuji za mnohem rychlejší než pouhé použití myši k odstranění listu (jak jsem popsal ve výše uvedené části)

Běžná klávesová zkratka pro odstranění listu

ALT + H + D + S

Pokud byste raději upustili od myši a používali pouze klávesnici, výše uvedená klávesová zkratka odstraní aktivní list nebo vybrané listy.

Tyto klávesy musíte mačkat postupně (tj. Jeden po druhém)

I když to může vypadat jako trochu delší klávesová zkratka, jakmile si na to zvyknete, je to stejně rychlé jako všechny ostatní techniky popsané v tomto tutoriálu

Starší klávesová zkratka pro odstranění listů

Stejně jako všichni ostatní má i Excel minulost a není tak hezká. Mluvím o době před stuhou.

Z důvodu kompatibility aplikace Excel stále umožňuje, aby některé z těchto starých klávesových zkratek fungovaly v novějších verzích. a v mnoha případech jsou tyto dřívější zkratky kratší a lepší.

Naštěstí existuje starší klávesová zkratka, která funguje při odstraňování listů v Excelu

ALT + E + L

Odstranění ActiveSheetu pomocí VBA

Pokud jde o odstranění jednoho listu nebo několika pracovních listů, je lepší použít výše uvedené metody.

Přestože VBA dokáže tento proces zautomatizovat, jeho užitečnost přichází, když musíte úkol opakovat vícekrát.

Jak uvidíte, s VBA můžete udělat mnohem více, pokud jde o mazání listů v aplikaci Excel.

Vezmu vás tedy k pokročilejším případům použití, ale předtím si ukážeme, jak jednoduše odstranit aktivní list pomocí VBA.

Níže je kód VBA, který odstraní aktivní list:

Sub DeleteSheet () ActiveSheet.Delete End Sub

Pokud jej používáte v bezprostředním okně, můžete jednoduše použít následující řádek:

ActiveSheet.Delete

Když použijete výše uvedený kód k odstranění aktivního listu, Excel vám zobrazí výzvu, kde budete muset akci potvrdit kliknutím na tlačítko Odstranit.

Odstranění listu bez zobrazení výzvy k potvrzení

Okno se zprávou s výzvou k potvrzení je užitečnou funkcí, která zajišťuje, že máte šanci zrušit vymazání listu v případě, že jste omylem/omylem spustili kód

Ale pokud už víte, co děláte, může být získání této výzvy docela nepříjemné.

zde je tedy kód VBA, který by zajistil, že budou listy odstraněny, ale nezobrazí se žádné okno se zprávou s potvrzením.

Sub DeleteSheet () Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True End Sub

Ve výše uvedeném kódu jsem nastavil vlastnost Application.DisplayAlerts na hodnotu false, což znamená, že aplikace Excel vám při běhu kódu nezobrazí žádná upozornění na zobrazení.

Je také velmi důležité, abyste se na konci kódu vrátili zpět na hodnotu true, abyste obnovili funkčnost (jak vidíte, udělal jsem to ve výše uvedeném kódu).

Upozornění: Když nastavíte vlastnost Application.DisplayAlerts na hodnotu False, Excel list jednoduše smaže a nebude možné jej obnovit. proto doporučuji, abyste si před použitím tohoto druhu kódu vytvořili záložní kopii.

Odstranění listu podle názvu (pokud existuje) pomocí VBA

VBA vám umožňuje automatizovat proces odstraňování konkrétního listu (na více listech) na základě názvu listu.

Pokud máte například list s názvem „Prodej“, můžete jej odstranit pomocí níže uvedeného kódu:

Dílčí listy DeleteSheetByName () („Prodej“). Odstranit koncový díl

Tento kód by odstranil pouze list, který má název Prodej.

Je to užitečné, když máte sešit se spoustou listů a nechcete procházet všechny pracovní listy, najděte ten s názvem prodej a ručně jej odstraňte.

S výše uvedeným kódem nezáleží na tom, kolik listů je v sešitu, jednoduše by se odstranil prodejní list.

A protože jsem nezměnil vlastnost Application.DisplayAlert, zobrazí se výzva, kde byste museli kliknout na tlačítko Odstranit a potvrdit dobu trvání prodejního listu.

V případě, že chcete odstranit více listů na základě jejich názvu, můžete to také udělat.

Níže uvedený kód by například odstranil listy s názvem Prodej, Marketing, Finance:

Dílčí listy DeleteSheetsByName () („Prodej“). Odstranit listy („Marketing“). Odstranit listy („Finance“). Odstranit koncový díl

Odstranění všech listů kromě aktivního listu pomocí VBA

Pokud máte sešit s více listy a chcete odstranit všechny listy kromě aktivního listu, je VBA pravděpodobně jednou z lepších metod, jak toho dosáhnout.

Níže je kód VBA, který by odstranil všechny listy kromě aktivního listu v sešitu.

Sub DeleteSheetByName () Dim ws As Worksheet Application.DisplayAlerts = False For each ws in Sheets If ws.Name ActiveSheet.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Všimněte si, že jsem řekl, že vlastnost Application.DisplayAlerts spadá na začátek kódu, protože nechci vidět výzvu pro každý list, který je odstraněn.

Odstranit všechny listy s konkrétním textovým řetězcem v názvu

Toto je mírně pokročilejší případ efektivního používání VBA při odstraňování listů.

Předpokládejme, že máte sešit s mnoha různými listy a chcete odstranit všechny listy, které obsahují konkrétní textový řetězec, pak to můžete snadno provést pomocí VBA.

Například níže mám sešit, kde chci odstranit všechny listy, které obsahují textový řetězec „Prodej“.

Níže je uveden kód VBA, který by to udělal:

Dílčí DeleteSheetByName () Dim ws As Worksheet Application.DisplayAlerts = False For each ws in Sheets If ws.Name Like "*" & "Sales" & "*" Then MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Výše uvedený kód používá příkaz if-then k procházení všech listů v sešitu. Zkontroluje název všech těchto listů a pokud název obsahuje slovo „Prodej“, bude tento list odstraněn.

Pokud chcete změnit kód a vyhledat jiný textový řetězec, můžete to změnit v pátém řádku výše uvedeného kódu.

Všimněte si také, že jsem použil hvězdičku (*), což je zástupný znak, na obou stranách textového řetězce, který hledáme v názvu listu. Tím je zajištěno, že bez ohledu na to, kde se řetězec objeví v názvu listu, bude stále odstraněn.

Můžete také upravit kód a zajistit, aby byly odstraněny pouze ty listy, kde se na začátku názvu listu zobrazí textový řetězec.

Pokud například chcete odstranit ty listy, kde se na začátku objevuje termín prodej, použijte následující kód v pátém řádku.

Pokud ws.Name Like "*" & "Sales" & "*" Then

Zde jsem použil znak divoké karty pouze po textovém nápoji a ne před ním. Tím zajistíte, že při kontrole názvů listu budou splňovat kritéria pouze ta, kde je na začátku názvu výraz „Prodej“.

Toto jsou některé z metod, které můžete použít, když chcete odstranit listy v aplikaci Excel. Ve většině případů to můžete snadno provést přímo v listu pomocí myši nebo klávesové zkratky.

Pokud však máte těžký sešit se spoustou pracovních listů a chcete rychle odstranit konkrétní druhy listů, můžete také použít VBA.

Doufám, že jste našli tento návod užitečný.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave