Přejít na hlavní obsah

Jak vytvořit a použít sbírku VBA Excel na listu

Kolekce VBA (Visual Basic for Applications) je výkonný nástroj v Excelu, který vám umožňuje spravovat velké množství dat pomocí relativně malého kódu. Sbírky jsou skupiny objektů, které lze použít k ukládání, aktualizaci a extrakci dat. V tomto článku se podíváme na to, jak vytvořit sbírku VBA na listu a jak ji použít ke zjednodušení práce s daty.

K vytvoření kolekce VBA na listu budete potřebovat modul VBA. Chcete-li otevřít modul VBA, klikněte pravým tlačítkem na list, vyberte "Zobrazit kód" z kontextové nabídky a v zobrazeném okně vyberte požadovaný list. Poté zadejte následující kód:

 Dim collectionName As New Collection 

Zde je" collectionName " název vaší sbírky. Můžete si vybrat libovolné jméno, které vyhovuje vašim potřebám.

Po vytvoření sbírky do ní můžete přidat prvky pomocí následujícího kódu:

 Dim item As Variant 
 item = [значение элемента] 
 collectionName.Add item 

Namísto "[hodnota prvku]"musíte zadat hodnotu položky, kterou chcete přidat do sbírky. Hodnota prvku může být číslo, řádek nebo jiný objekt.

Jakmile do sbírky přidáte prvky, můžete k jejímu dalšímu zpracování použít různé metody a vlastnosti sbírky.

Příprava na vytvoření kolekce VBA Excel

Než začnete vytvářet sbírku VBA Excel na listu, musíte provést několik přípravných kroků:

  1. Otevřete soubor Excel, ve kterém bude sbírka vytvořena.
  2. Kliknutím na "Alt+F11" otevřete okno editoru Visual Basic.
  3. V okně editoru Visual Basic vyberte požadovaný projekt (knihu, modul nebo list), ve kterém bude sbírka vytvořena.
  4. Klikněte pravým tlačítkem myši na požadovanou kartu (například na kartu "Sheet1" pro vytvoření sbírky na listu) a vyberte "Vložit" -> "Třída modulu" z kontextové nabídky.
  5. V okně modulu třídy, které se otevře, zadejte název třídy (například"CollectionDemo").
  6. Stisknutím "Enter" vytvoříte novou třídu modulu.
  7. Ve třídě modulu vytvořit proměnnou typu kolekce, například:
Dim myCollection As New Collection

Vytvořili jsme tedy proměnnou Mycollection typu Collection. Nyní můžeme tuto proměnnou použít k přidání prvků do sbírky a provádění dalších operací.

Po provedení těchto kroků jsme připraveni vytvořit a použít sbírku VBA Excel na listu.

Vytvoření nového listu

K vytvoření nového listu používá VBA Excel objekt Worksheet. Následující kód umožňuje vytvořit nový list v knize:

Sub СоздатьНовыйЛист()Dim НовыйЛист As WorksheetSet НовыйЛист = ThisWorkbook.Sheets.AddНовыйЛист.Name = "Новый лист"' Добавьте свой код для работы с новым листом здесьEnd Sub
  • Vznikne nový objekt Worksheet a přiřazena proměnná Novejlist.
  • Používá se metoda Add Chcete-li přidat nový list do aktuální knihy.
  • Nový list je pojmenován pomocí vlastnosti Name.

Po vytvoření nového listu s ním můžete provádět různé operace pomocí proměnné Novejlist. Můžete například přidat hodnoty do buněk, změnit formátování nebo provést další kroky potřebné pro váš úkol.

Je důležité poznamenat, že nový list bude přidán po aktuálním aktivním listu. Pokud potřebujete spravovat pořadí listů, můžete použít jiné metody a vlastnosti objektu Workbook, jako Sheets(index) nebo Sheets("name").

Příprava datové tabulky

Než začneme používat sbírku VBA Excel na listu, je třeba připravit datovou tabulku. Tabulka by měla definovat sloupce a řádky, které budou obsahovat data, která potřebujeme. V tomto článku se podíváme na příklad tabulky, která bude obsahovat údaje o zaměstnancích společnosti.

Vytvoříme tabulku s následujícími sloupci:

  • Název - sloupec, který bude obsahovat jména zaměstnanců;
  • Příjmení - sloupec, který bude obsahovat jména zaměstnanců;
  • Věk - sloupec, který bude obsahovat věk zaměstnanců;
  • Úřad - sloupec, který bude obsahovat pozice zaměstnanců;

Po vytvoření tabulky ji můžete vyplnit údaji o zaměstnancích, například:

NázevPříjmeníVěkÚřad
IvanIvan30Manažer
PetrPetrov25Zpracovatel
AnnaSidorova35Účetní

Připravili jsme tedy datovou tabulku, kterou použijeme pro práci se sbírkou VBA Excel na listu.

Instalace vývojového prostředí VBA

Vývojové prostředí VBA (Visual Basic for Applications) - nástroj, který vám umožňuje vytvářet makra a vlastní funkce v aplikacích Microsoft Office, včetně Excelu.

Chcete-li nainstalovat vývojové prostředí VBA do Excelu, postupujte podle níže uvedených pokynů:

  1. Otevřete Excel.
  2. Klikněte na tlačítko Soubor v levém horním rohu obrazovky a poté vyberte Možnosti.
  3. V okně, které se otevře na stránce Nastavení, vyberte kartu Možnosti aplikace Excel.
  4. Na této stránce vyhledejte "Vývojář" v seznamu dostupných možností a zaškrtněte jej políčkem.
  5. Klepnutím na" OK " uložíte změny.

Po dokončení těchto kroků uvidíte na hlavním panelu aplikace Excel novou kartu Vývojář. To znamená, že vývojové prostředí VBA je nyní k dispozici k použití.

Poznámka: Pokud se karta Vývojář stále nezobrazuje, zkontrolujte nastavení zabezpečení aplikace Excel. Pravděpodobně budete muset povolit spolehlivá místa a aktivovat makra.

Import potřebných knihoven

Před zahájením práce se sbírkou VBA Excel je nutné na listu importovat potřebné knihovny, které poskytují přístup k požadovaným objektům a funkcím.

Chcete-li pracovat se sbírkou buněk a listů aplikace Excel, musíte importovat knihovnu "Microsoft Excel". To umožňuje použití objektů a technik, jako je Range , Worksheet , Cells a mnoho dalších.

Chcete-li importovat knihovnu Microsoft Excel, postupujte podle následujících kroků:

  1. Otevřete Editor VBA stisknutím Alt + F11 .
  2. V nabídce editoru vyberte Nástroje a poté odkazy. ".
  3. V okně odkazy, které se otevře, vyhledejte a zaškrtněte " Microsoft Excel XX.X Object Library", kde XX.X-verze nainstalovaná v počítači Excel. Pokud neznáte verzi Excelu, zaškrtněte nejnovější verzi.
  4. Klikněte na OK.

Po dokončení těchto kroků bude Knihovna k dispozici ve vašem projektu VBA. Objekty a metody z této knihovny budete moci použít k práci se sbírkou VBA Excel na listu.

Pokud pracujete s jinými objekty nebo knihovnami, je nutné importovat příslušné knihovny stejným způsobem, jak je popsáno výše.

Vytvoření kolekce VBA Excel

Chcete-li vytvořit sbírku v aplikaci VBA Excel, musíte postupovat podle následujících kroků:

KrokPopis
1Oznamte proměnnou, která bude obsahovat sbírku. Použijte například následující syntaxi:
Dim collectionName As New Collection
collectionName.Add Range("A1").Value

Vestavěná kolekce VBA Excel, nazývaná Worksheets, však již obsahuje listy knihy a objekty této sbírky lze přímo použít, aniž byste museli vytvářet vlastní sbírku. Následující kód například přidává nový list knihy:

Dim newWorksheet As WorksheetSet newWorksheet = ThisWorkbook.Worksheets.Add

Také pro flexibilnější práci se sbírkami lze použít jiný typ kolekce VBA - Dictionary , který umožňuje ukládat páry klíč-hodnota. To je užitečné, když je nutné ukládat a přijímat hodnoty podle určitého klíče. Chcete-li použít sbírku typu Dictionary, musíte přidat odkaz na Microsoft Scripting Runtime přes menu Tools > References. Poté je možné vytvářet kopie kolekce Dictionary a pracovat s nimi podobně jako s běžnou sbírkou.

V důsledku toho je vytváření a používání sbírky VBA Excel efektivním způsobem organizace a správy objektů při automatizaci procesů v Excelu.

Oznámení a inicializace sbírky

Pro práci se sbírkami používá VBA Excel objektové zobrazení sbírky. Pro vyhlášení a inicializaci sbírky je nutné použít klíčové slovo Dim a zadejte název proměnné, která bude sbírku reprezentovat.

Dále, pro vytvoření samotné sbírky, se používá klíčové slovo New a je uveden název třídy sbírky, která bude použita. Například pro vytvoření sbírky hodnot typu String je nutné použít třídu Collection.

Příklad oznámení a inicializace sbírky:

DimmyCollectionAsNewCollection

Po oznámení a inicializaci sbírky, můžete začít přidávat položky do sbírky pomocí metody Add. Příklad:

myCollection.Add"Element1"

Tento příklad přidává do sbírky řádek "Element1". Můžete přidat libovolné hodnoty, včetně čísel, řádků, objektů atd.

Sbírka je uspořádaný seznam položek, ke kterým lze přistupovat podle jejich indexu pomocí metody Item. Příklad:

myVariable =myCollection.Item(1)

V tomto příkladu proměnné myVariable bude přiřazena hodnota prvního prvku sbírky.