Někdy můžete chtít nebo potřebovat vytvořit sešit aplikace Excel automatizovaným způsobem. Možná budete muset například zkopírovat data z tabulky a vložit je do nově vytvořeného sešitu. Následující makro zkopíruje oblast buněk z aktivního listu a vloží data do nového sešitu.
Jak makro funguje
Jak uvidíte, když si přečtete řádky kódu, toto makro je relativně intuitivní:
Dílčí makro1()
'Krok 1 Zkopírujte data
Listy("Příklad 1").Rozsah("B4:C15").Kopírovat
'Krok 2 Vytvořte nový sešit
Workbooks.Add
'Krok 3 Vložte data
ActiveSheet.Paste Destination:=Range("A1")
'Krok 4 Vypněte upozornění aplikací
Application.DisplayAlerts = False
'Krok 5 Uložte nově vytvořený sešit
ActiveWorkbook.SaveAs _
Název souboru:="C:TempMyNewBook.xlsx"
'Krok 6 Znovu zapněte upozornění aplikací
Application.DisplayAlerts = True
End Sub
V kroku 1 jednoduše zkopírujete data v rozsahu od buněk B4 do C15. Všimněte si, že list i rozsah určíte názvem. Tento přístup je osvědčeným postupem při práci s více otevřenými sešity.
V kroku 2 použijete metodu Add objektu Workbook k vytvoření sešitu. Prázdný sešit je ekvivalentní ručnímu výběru Soubor→Nový→Prázdný dokument na pásu karet aplikace Excel.
V kroku 3 použijete metodu Vložit k odeslání zkopírovaných dat do buňky A1 nového sešitu.
Věnujte pozornost skutečnosti, že kód odkazuje na objekt ActiveSheet. Když přidáte sešit, nový sešit okamžitě získá fokus a stane se aktivním sešitem. (Excel udělá totéž, když sešit přidáte ručně.)
V kroku 4 kódu nastavíte metodu DisplayAlerts na hodnotu False, čímž účinně vypnete varování aplikace Excel. Uděláte to proto, že v dalším kroku kódu uložíte nově vytvořený sešit. Toto makro můžete spustit vícekrát, v takovém případě se Excel pokusí soubor uložit vícekrát.
Co se stane, když se pokusíte sešit uložit vícekrát? Správně – Excel vás upozorní, že již existuje soubor s tímto názvem, a poté se zeptá, zda chcete přepsat dříve existující soubor. Protože vaším cílem je automatizovat vytváření sešitu, chcete toto varování potlačit.
V kroku 5 uložíte soubor pomocí metody SaveAs. Všimněte si, že zadáte úplnou cestu k umístění uložení, včetně konečného názvu souboru.
Protože jste změny aplikací v kroku 4 vypnuli, musíte je znovu zapnout (viz krok 6). Pokud tak neučiníte, Excel bude během aktuální relace nadále potlačovat všechna varování.
Jak používat makro
Chcete-li implementovat toto makro, můžete jej zkopírovat a vložit do standardního modulu:
Aktivujte Editor jazyka Visual Basic stisknutím Alt+F11.
Klepněte pravým tlačítkem myši na název projektu/sešitu v okně projektu.
Vyberte Vložit → Modul.
Zadejte nebo vložte kód do nově vytvořeného modulu.
Pravděpodobně budete muset změnit název listu, adresu rozsahu a místo uložení.