Automatické stahování kurzů ČNB do Excelu pomocí VBA
Excel je pro spoustu firem pořád hlavní pracovní nástroj.
A upřímně? Vůbec se tomu nedivím.
Když je dobře nastavený, dokáže být neuvěřitelně silný. Nejen jako obyčejná tabulka, ale jako nástroj, který umí šetřit čas, omezovat ruční práci a snižovat riziko chyb.
Jedním z jednoduchých příkladů je automatické stahování kurzů měn z ČNB.
Až donedávna jsem si myslel, že když chci podobnou věc v Excelu řešit, nejlepší cesta je Power Query. Napojit se na web, natáhnout si data, vytvořit si pomocnou tabulku, nechat jen měny, které potřebuji, a pak si kurz dohledávat přes vyhledávací funkce.
Funguje to.
Ale někdy existuje i jednodušší cesta.
Běžný problém v praxi
Představme si situaci, kterou zná hodně účetních, finančních oddělení nebo lidí pracujících s reportingem.
Máte datum.
Máte měnu.
A potřebujete k ní zjistit kurz ČNB.
Typicky se pak děje něco takového:
Otevře se web ČNB.
Najde se správné datum.
Vyhledá se konkrétní měna.
Zkopíruje se kurz.
Vloží se do Excelu.
A celé se to opakuje znovu a znovu.
U jedné měny a jednoho data to není žádná tragédie.
Jenže jakmile se to opakuje pravidelně, každý měsíc, u více měn nebo ve více souborech, začne z toho být zbytečná rutina.
A přesně to je typ práce, kterou nemá smysl dělat ručně.
Co s tím může udělat Excel
Do Excelu lze pomocí VBA napsat vlastní funkci, která se bude chovat podobně jako běžné excelové vzorce.
Například můžete mít v buňce zadané datum, vedle něj měnu a Excel si sám stáhne kurz z webu ČNB.
Výsledek?
Místo ručního hledání na webu stačí napsat vzorec například ve stylu:
=CNB_Kurz(A2;"EUR")
Excel vezme datum z buňky A2, podívá se na kurzovní lístek ČNB a vrátí kurz pro euro.
Stejně tak může fungovat třeba pro USD, GBP, PLN nebo jiné měny uvedené v kurzovním lístku ČNB.
Jak to funguje jednoduše vysvětleno
Celý princip je vlastně docela jednoduchý.
Funkce vezme datum, které je zadané v Excelu, sestaví odkaz na kurzovní lístek ČNB, stáhne si textový soubor s kurzy, najde požadovanou měnu a vrátí kurz zpět do Excelu.
Z pohledu uživatele je to ale celé ještě jednodušší.
Nemusí řešit web ČNB, kopírování, přepisování ani kontrolu, jestli omylem nevzal špatný řádek.
Použije jen vlastní funkci v Excelu.
Ukázka
Proč je to praktické
Taková automatizace se hodí například při:
přepočtu cizoměnových faktur,
přípravě účetních importů,
měsíčním reportingu,
kontrole kurzových rozdílů,
práci s bankovními pohyby v cizí měně,
tvorbě interních přehledů,
přípravě podkladů pro účetní závěrku.
Nejde přitom o žádný obrovský systém.
Je to malá úprava v Excelu, která může ušetřit hodiny opakované práce.
A hlavně snížit riziko chyb.
Pokud vás zajímá, jak podobná automatizace funguje technicky, případně byste chtěli ukázat konkrétní VBA skript, napište mi. Rád ukážu, jak může podobné řešení v Excelu vypadat i v praxi.