Práce s poli pro programování VBA v Excelu 2016

Většina programovacích jazyků podporuje pole, včetně VBA. Pole je skupina proměnných, které mají společný název. Na konkrétní proměnnou v poli odkazujete pomocí názvu pole a čísla indexu v závorkách. Můžete například definovat pole 12 řetězcových proměnných, které budou obsahovat názvy měsíců v roce. Pokud pole pojmenujete MonthNames , můžete na první prvek pole odkazovat jako na MonthNames (1), na druhý prvek jako na MonthNames (2) a tak dále.

Deklarace polí

Než budete moci použít pole, musíte jej deklarovat. Žádné vyjímky. Na rozdíl od normálních proměnných je VBA ohledně tohoto pravidla velmi striktní. Pole deklarujete pomocí příkazu Dim nebo Public, stejně jako deklarujete běžnou proměnnou. Musíte však také zadat počet prvků v poli. To provedete zadáním prvního čísla indexu, klíčového slova To a posledního čísla indexu – vše v závorkách. Následující příklad ukazuje, jak deklarovat pole 100 celých čísel:

Dim MyArray (1 až 100) jako celé číslo

Když deklarujete pole, můžete určit pouze horní index. Pokud vynecháte spodní index, VBA předpokládá, že je 0. Oba následující příkazy proto deklarují stejné pole 101 prvků:

Dim MyArray (0 až 100) jako celé číslo
Dim MyArray (100) jako celé číslo

Pokud chcete, aby VBA předpokládal, že 1 (spíše než 0) je nižší index pro vaše pole, zahrňte následující prohlášení do sekce Declarations v horní části vašeho modulu:

Možnost základ 1

Tento příkaz přinutí VBA použít 1 jako první číslo indexu pro pole, která deklarují pouze horní index. Pokud je tento příkaz přítomen, jsou následující příkazy totožné a oba deklarují 100prvkové pole:

Dim MyArray (1 až 100) jako celé číslo
Dim MyArray (100) jako celé číslo

Vícerozměrná pole

Pole vytvořená v předchozích příkladech jsou všechna jednorozměrná pole. Představte si jednorozměrná pole jako jeden řádek hodnot. Pole, která vytvoříte ve VBA, mohou mít až 60 dimenzí – ačkoli zřídka potřebujete více než dva nebo tři rozměry v poli. Následující příklad deklaruje pole 81 celých čísel se dvěma rozměry:

Dim MyArray (1 až 9, 1 až 9) jako celé číslo

Toto pole si můžete představit jako zabírající matici 9 x 9 – ideální pro ukládání všech čísel v sudoku.

Chcete-li odkazovat na konkrétní prvek v tomto poli, musíte zadat dvě čísla indexu (podobná jeho „řádku“ a jeho „sloupci“ v matici). Následující příklad ukazuje, jak můžete přiřadit hodnotu prvku v tomto poli:

MyArray (3, 4) = 125

Tento příkaz přiřadí hodnotu jednomu prvku v poli. Pokud uvažujete o poli z hlediska matice 9 x 9, přiřadíte 125 prvku umístěnému ve třetím řádku a čtvrtém sloupci matice.

Zde je návod, jak deklarovat trojrozměrné pole s 1 000 prvky:

Dim My3DArray (1 až 10, 1 až 10, 1 až 10) jako celé číslo

Trojrozměrné pole si můžete představit jako krychli. Vizualizace pole více než tří rozměrů je obtížnější.

Dynamická pole

Můžete také vytvářet dynamická pole. Dynamické pole nemá přednastavený počet prvků. Deklarujte dynamické pole s prázdnou sadou závorek:

Dim MyArray () As Integer

Než budete moci toto pole použít, musíte pomocí příkazu ReDim sdělit VBA, kolik prvků pole má. Obvykle se počet prvků v poli určuje, když je váš kód spuštěn. Příkaz ReDim můžete použít mnohokrát a měnit velikost pole tak často, jak je potřeba. Následující příklad ukazuje, jak změnit počet prvků v dynamickém poli. Předpokládá, že proměnná NumElements obsahuje hodnotu, kterou váš kód vypočítal.

ReDim MyArray (1 až NumElements)

Když změníte dimenzování pole pomocí ReDim, vymažete všechny hodnoty aktuálně uložené v prvcích pole. Pomocí klíčového slova Zachovat se můžete vyhnout zničení starých hodnot. Následující příklad ukazuje, jak můžete zachovat hodnoty pole při změně dimenzování pole:

ReDim Preserve MyArray (1 až NumElements)

Pokud má MyArray aktuálně deset prvků a provedete předchozí příkaz s NumElements rovným 12, prvních deset prvků zůstane nedotčeno a pole má místo pro dva další prvky (až do počtu obsaženého v proměnné NumElements). Pokud se však NumElements rovná 7, prvních sedm prvků zůstane zachováno, ale zbývající tři prvky budou ukončeny.

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.