Tento tutoriál vás naučí, jak odstranit nebo vymazat list pomocí VBA.
Odstranit pracovní list
K odstranění listu použijte příkaz delete.
Odstranit list podle názvu
1 | Tabulky („List1“). Smazat |
Odstranit list podle indexového čísla
Tento kód odstraní první list v sešitu:
1 | Listy (1). Smazat |
Tento kód odstraní poslední list v sešitu:
1 | Listy (Sheets.Count). Odstranit |
Smazat list bez výzvy
Když se pokusíte odstranit list, Excel vás požádá o potvrzení vaší akce:
Tyto výzvy (výstrahy) můžete deaktivovat přepnutím DisplayAlerts:
123 | Application.DisplayAlerts = FalseTabulky („List1“). SmazatApplication.DisplayAlerts = True |
Smazat list, pokud existuje
Pokud se pokusíte odstranit list, který neexistuje, VBA vygeneruje chybu. Pomocí On Error Resume Next můžete VBA říci, aby list odstranil, pokud existuje, v opačném případě přeskočte na další řádek kódu:
123 | Při chybě Pokračovat DalšíTabulky („List1“). SmazatPři chybě GoTo 0 |
Můžete také použít naši funkci RangeExists a zkontrolovat, zda list existuje, a pokud ano, smazat ho:
123 | Pokud RangeExists ("Sheet1") ThenTabulky („List1“). SmazatKonec If |
Čistý list
Tento kód vymaže celý list obsahu, formátů a všeho dalšího:
1 | Listy („List1“). Buňky. Vymazat |
Vymazat obsah listu
Tento kód vymaže celý obsah listu. Formátování, komentáře a vše ostatní ponechá na pokoji:
1 | Listy („List1“). Cells.ClearContents |
Clear Sheet UsedRange
Výše uvedené příklady vymaže VŠECHNY buňky v listu. Ve velkých listech to může být velmi časově náročné. Pokud místo toho použijete UsedRange, VBA vymaže pouze „použité“ buňky, které obsahují hodnoty, formáty atd.
1 | Listy („List1“). UsedRange.Clear |