Niekedy možno budete chcieť alebo potrebujete vytvoriť excelový zošit automatizovaným spôsobom. Možno budete musieť napríklad skopírovať údaje z tabuľky a prilepiť ich do novovytvoreného zošita. Nasledujúce makro skopíruje rozsah buniek z aktívneho hárka a prilepí údaje do nového zošita.
Ako funguje makro
Ako uvidíte, keď si prečítate riadky kódu, toto makro je relatívne intuitívne:
Pod makro1()
'Krok 1 Skopírujte údaje
Hárok("Príklad 1").Rozsah("B4:C15").Kopírovať
'Krok 2 Vytvorte nový zošit
Pracovné zošity.Add
'Krok 3 Prilepte údaje
ActiveSheet.Paste Destination:=Range("A1")
'Krok 4 Vypnite upozornenia aplikácií
Application.DisplayAlerts = False
'Krok 5 Uložte novovytvorený zošit
ActiveWorkbook.SaveAs _
Názov súboru:="C:TempMyNewBook.xlsx"
'Krok 6 Znova zapnite upozornenia aplikácie
Application.DisplayAlerts = True
End Sub
V kroku 1 jednoducho skopírujete údaje v rozsahu od buniek B4 do C15. Upozorňujeme, že hárok aj rozsah zadávate podľa názvu. Tento prístup je najlepším postupom pri práci s viacerými otvorenými zošitmi.
V kroku 2 použijete metódu Add objektu Workbook na vytvorenie zošita. Prázdny zošit je ekvivalentný manuálnemu výberu Súbor→Nový→Prázdny dokument na páse s nástrojmi Excel.
V kroku 3 použijete metódu Prilepiť na odoslanie skopírovaných údajov do bunky A1 nového zošita.
Venujte pozornosť skutočnosti, že kód odkazuje na objekt ActiveSheet. Keď pridáte zošit, nový zošit okamžite získa zameranie a stane sa aktívnym zošitom. (Excel robí to isté, keď ručne pridávate zošit.)
V kroku 4 kódu nastavíte metódu DisplayAlerts na hodnotu False, čím efektívne vypnete upozornenia programu Excel. Urobíte to preto, lebo v ďalšom kroku kódu uložíte novovytvorený zošit. Toto makro môžete spustiť viackrát, v takom prípade sa Excel pokúsi súbor uložiť viackrát.
Čo sa stane, keď sa pokúsite uložiť zošit viackrát? Správne – Excel vás upozorní, že už existuje súbor s týmto názvom, a potom sa spýta, či chcete prepísať predtým existujúci súbor. Pretože vaším cieľom je automatizovať vytváranie zošita, chcete toto varovanie potlačiť.
V kroku 5 uložíte súbor pomocou metódy SaveAs. Všimnite si, že zadávate úplnú cestu miesta uloženia vrátane konečného súboru.
Pretože ste zmeny aplikácií vypli v kroku 4, musíte ich znova zapnúť (pozri krok 6). Ak to neurobíte, Excel bude počas aktuálnej relácie naďalej potláčať všetky upozornenia.
Ako používať makro
Ak chcete implementovať toto makro, môžete ho skopírovať a prilepiť do štandardného modulu:
Aktivujte Editor jazyka Visual Basic stlačením Alt+F11.
Kliknite pravým tlačidlom myši na názov projektu/zošita v okne projektu.
Vyberte Vložiť → Modul.
Zadajte alebo prilepte kód do novovytvoreného modulu.
Pravdepodobne budete musieť zmeniť názov hárka, adresu rozsahu a miesto uloženia.