Přejít na hlavní obsah

Excel VBA: práce s propojenými tabulkami (ListObjects) a požadavky (QueryTable)

  • Miroslav Kraus
  • Recenze

Microsoft Excel je jedním z nejoblíbenějších nástrojů pro práci s daty a analýzou. Mnoho uživatelů se však omezuje na základní funkce programu, aniž by věděli o výkonných funkcích, které Excel VBA (Visual Basic for Applications) nabízí.

Jednou z nejužitečnějších funkcí aplikace Excel VBA je práce se souvisejícími tabulkami (ListObjects) a dotazy (QueryTable). Související tabulky vám umožňují pohodlně organizovat a analyzovat data a dotazy vám umožňují přijímat data z externích zdrojů, jako jsou databáze a webové stránky.

Co jsou související tabulky? Související tabulka je speciální objekt v Excelu, což je strukturovaná datová sada s hlavičkami sloupců a možností třídění, filtrování a formátování dat. Propojené tabulky jsou užitečné pro práci s velkým množstvím dat a jsou základem pro mnoho funkcí aplikace Excel VBA.

Dotazy jsou zase nástrojem pro získávání dat z externích zdrojů. Pomocí aplikace Excel VBA můžete vytvářet požadavky, které extrahují data z databází, webových stránek, textových souborů a dalších zdrojů dat, a stahovat je přímo do souvisejících tabulek. To vám umožňuje automatizovat proces aktualizace dat a udržovat informace aktuální v sešitu aplikace Excel.

Excel VBA nabízí mnoho metod a vlastností pro práci se souvisejícími tabulkami a požadavky. Díky těmto funkcím budete moci zjednodušit a automatizovat práci s daty, zvýšit efektivitu práce a učinit svou práci produktivnější.

Vytváření a formátování souvisejících tabulek (ListObjects)

Související tabulky (ListObjects) jsou funkčním nástrojem v Excelu VBA, který vám umožňuje pracovat s daty jako strukturovaná tabulka. Vytvoření propojené tabulky může být užitečné pro organizaci a zpracování dat a také pro automatizaci rutinních úkolů.

Chcete-li vytvořit propojenou tabulku, musíte vybrat požadovaný rozsah datových buněk a postupovat podle následujících kroků:

  1. Zvýrazněte rozsah buněk, které chcete převést na propojenou tabulku.
  2. Na kartě Vložit vyhledejte skupinu tlačítek Tabulka a vyberte Vložit tabulku nebo vložit doporučenou tabulku.
  3. Ujistěte se, že je správně definován rozsah buněk a je povolena možnost "Moje tabulka obsahuje nadpisy", pokud vaše tabulka obsahuje nadpisy.
  4. Klikněte na OK. Nyní jste vytvořili propojenou tabulku (ListObject) na základě zvoleného rozsahu buněk.

Po vytvoření propojené tabulky můžete provádět různé operace k formátování a konfiguraci tabulky podle požadavků projektu:

  • Změna stylů návrhu tabulky: k tomu můžete použít hotové styly designu, které Excel nabízí, nebo si přizpůsobit vlastní styly pomocí funkcí VBA.
  • Přidání nebo odstranění sloupců a řádků: to lze provést pomocí funkcí VBA, jako je Add a Delete.
  • Aplikace vzorců a automatické vyplňování dat: v propojené tabulce lze pomocí vzorců automaticky vypočítat hodnoty některých sloupců. K automatickému vyplnění dat v tabulce lze také použít funkce VBA.
  • Třídění a filtrování dat: propojená tabulka Usnadňuje třídění a filtrování dat pomocí vestavěných funkcí aplikace Excel.
  • Konfigurace vazeb tabulky s jinými objekty: propojená tabulka může být spojena s jinými objekty aplikace Excel, jako jsou grafy nebo tvary.

Vytváření a formátování souvisejících tabulek (ListObjects) je výkonný nástroj pro práci s daty v Excelu VBA. Umožňují rychlou a pohodlnou organizaci a zpracování dat a také usnadňují automatizaci rutinních úkolů.

Import dat pomocí propojených tabulek (ListObjects)

Chcete-li importovat data pomocí souvisejících tabulek, budete muset vytvořit propojenou tabulku a nakonfigurovat příslušný zdroj dat. Existuje několik způsobů importu dat:

1. Import dat z textového souboru

Chcete-li importovat data z textového souboru, musíte vytvořit novou propojenou tabulku, vybrat textový soubor a nakonfigurovat nastavení importu, jako je oddělovač polí a formát dat. Po nastavení Nastavení Aplikace Excel automaticky načte data ze souboru do propojené tabulky.

2. Import dat z databáze

Pokud chcete importovat data z databáze, musíte vytvořit propojenou tabulku, vybrat zdroj dat - databázi a nakonfigurovat připojení k databázi. Poté můžete z databáze vybrat tabulku nebo dotaz a importovat data do související tabulky. Excel při změně zdroje dat automaticky aktualizuje data v propojené tabulce.

Poznámka: pro práci s databázemi možná budete muset nainstalovat příslušný databázový ovladač a nastavení připojení.

3. Import dat z webové stránky

Chcete-li importovat data z webové stránky, musíte vytvořit propojenou tabulku, vybrat zdroj dat - webovou stránku a nakonfigurovat nastavení stahování dat, jako je adresa a formát dat. Po nastavení Nastavení Aplikace Excel načte data z webové stránky do propojené tabulky.

Pomocí propojených tabulek (ListObjects) můžete snadno aktualizovat data ze zdroje dat a k práci s těmito daty používat různé funkce a vlastnosti. K práci s importovanými daty můžete například použít filtry, třídění, vzorce, formátování a další funkce aplikace Excel.

Poznámka: Při importu dat pomocí souvisejících tabulek (ListObjects) Excel automaticky vytvoří požadavky (QueryTable), které jsou zodpovědné za komunikaci mezi propojenou tabulkou a zdrojem dat. Můžete také nakonfigurovat pokročilá nastavení dotazu, jako je aktualizace dat, automatická aktualizace a další.

Aktualizace dat pomocí dotazů (QueryTable)

Pro práci s QueryTable budete muset nainstalovat odkaz na knihovnu "Microsoft ActiveX Data Objects X. X Library" (kde X.X je verze knihovny). Chcete – li to provést, přejděte v editoru VBA na kartu Nástroje-odkazy a v seznamu vyhledejte požadovanou knihovnu.

Po instalaci odkazu můžete vytvořit nový QueryTable pomocí metody Add z kolekce QueryTables:

Dim qt As QueryTableSet qt = ActiveSheet.QueryTables.Add(Connection:=…, Destination:=…)

Možnost Connection je řetězec připojení k externímu zdroji dat. V závislosti na typu zdroje může mít tento řetězec jiný formát.

Parametr Destination udává rozsah buněk, do kterých budou data nahrána. Můžete například specifikovat tento rozsah: "A1" – "D10".

Po vytvoření QueryTable můžete k aktualizaci dat ze zdroje použít metodu Refresh:

qt.Refresh

Metoda Refresh provede dotaz na zdroj dat a aktualizuje hodnoty v Excelu. Pokud byl zdroj dat změněn, po vyvolání metody Refresh budou data v tabulce aplikace Excel aktualizována.

Můžete také nakonfigurovat vlastnosti QueryTable, abyste určili, která data je třeba aktualizovat, s jakou periodicitou atd. Například vlastnost RefreshStyle umožňuje zvolit režim aktualizace-úplnou aktualizaci nebo pouze přidání nových dat. Vlastnost BackgroundQuery vám umožňuje nainstalovat aktualizaci na pozadí, která neblokuje uživatelovu práci.

Pomocí QueryTable můžete pohodlně aktualizovat data v souboru Excel, aniž byste se museli uchýlit k ručnímu kopírování a vkládání. QueryTable navíc umožňuje automatizovat aktualizaci dat s nastavenou periodicitou, což je zvláště užitečné, pokud je zdroj dat pravidelně aktualizován.

Je důležité si uvědomit, že aktualizace dat pomocí QueryTable má určitá omezení. Pokud se změní struktura zdroje dat nebo se některé sloupce přesunou, Excel nemusí zvládnout aktualizaci dat a vydá chybu. Také stojí za to být pozorný při řešení složitých dotazů, které mohou být nesprávně interpretovány QueryTable.

Celkově je QueryTable výkonným nástrojem pro práci s externími daty v Excelu. Umožňuje vám snadno aktualizovat data z různých zdrojů a přizpůsobit proces aktualizace vašim požadavkům.