zpět na výpis    domů » excel » Práce s listy sešitu ve VBA

Práce s listy sešitu ve VBA

Publikováno: 15.6.2017

Práce s listy sešitu ve VBA

V této kapitole se naučíte vybírat listy, přidávat nové listy, pojmenovat listy a smazat listy.

Výběr listu

Výběr listu lze provést 2 způsoby, a to, metodou Activate a metodou Select. V Editoru VBA můžete otestovat níže uvedený kód. Opakovaným stiskem klávesy F8 můžete sledovat krok po kroku vykonávání kódu, který vybere list se jménem List2.

Sub aktivaceListu()

Sheets("List2").Activate

End Sub

Editor VBA pro psaní kódu vyvoláte stisknutím kláves ALT + F11.

Přidání nového listu do sešitu

K přidání nového listu do sešitu slouží metoda Add.

Sub novyList()

Sheets("List").Activate
Sheets.Add

End Sub

Výše uvedený kód přidá nový list před list aktivovaný (implicitně nastaveno). Pokud chcete přidat nový list za aktivovaný list je nutné použít parametr After.

Sub novyList()

Sheets("List").Activate
Sheets.Add After:=ActiveSheet

End Sub

Pomoci parametru Count můžete ovlivnit počet nově přidávaných listů. Následující kód přidá 3 nové listy za aktivovaný list.

Sub novyList()

Sheets("List").Activate
Sheets.Add After:=ActiveSheet, Count:=3

End Sub

Následující procedura vloží nový list za poslední list.

Sub novyList()

Sheets.Add After:=Sheets(Sheets.Count)

End Sub

Pojmenování listu v sešitě

K pojmenování listu slouží metoda Name.

Následující procedura vloží za poslední list nový list a pojmenuje ho jako Poslední list.

Sub pridatJmeno()

Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Poslední list"

End Sub

Smazání listů v sešitě

K mazání listů slouží metoda Delete.

Následující kód smaže list se jménem List2.

Sub smazaniListu()

Sheets("List2").Delete

End Sub

Následující kód odstraní více listů současně pomocí speciální proměnné pole Array(), které je naplněno listy, které chceme smazat.

Sub smazaniListu()

Sheets(Array("List2", "List3")).Delete

End Sub

Mazání listu je vždy doprovázeno oknem s varovným hlášením, zda si skutečně přejete list smazat. Tento dotaz lze odstranit pomocí vlastnosti DisplayAlerts objektu Application.

K dosažení pěkného visuálního efektu je kód doplněn o časové zpoždění smazání listu pomocí vlastnosti Wait objektu Application.

Následující procedura přidá za poslední list 5 nových listů, aby poté mohl postupně se zpožděním 2 sekund odstranit jednotlivé listy kromě prvního. Okno s upozorněním je potlačeno.

Option Explicit

Sub smazaniListu()

deklarace proměnných
Dim i As Long, pocetlistu As Long

5 nových listů zprava
Sheets.Add after:=Sheets(Sheets.Count), Count:=5

zjištění počtu listů v sešitě
pocetlistu = Sheets.Count

For i = 1 To pocetlistu - 1
    smazání listu se zpoždění 2 sekundy
    Application.Wait (Now + TimeValue("00:00:02"))

    Application.DisplayAlerts = False
    Sheets(Sheets.Count).Delete
    Application.DisplayAlerts = True
Next i

End Sub

Chcete vědět o každém novém článku? Dejte Like Financím v praxi na sociálních sítích a zůstaňte ve spojení.

Google+

Sdílejte článek na sociálních sítích

Použité zdroje a literatura
  • BENÁČANOVÁ H.: Tvorba aplikací v Microsoft Office Excel 2. část. Možnosti VBA. Vysoká škola ekonomická v Praze, nakladatelství Oeconomica 2009, Praha. První vydání, 126 stran. ISBN 978-80-245-1602-8
  • Nápověda k aplikaci MS Excel
Nahoru