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.

Previous
Previous

Napsali o mně

Next
Next

Nemůžu? Nedokážu? Tak koukej.