Co je VBA Array?
Pole je definováno jako paměťové místo schopné uložit více než jednu hodnotu. Všechny hodnoty musí být stejného datového typu. Řekněme, že chcete uložit seznam svých oblíbených nápojů do jedné proměnné, můžete k tomu použít pole VBA.
Pomocí pole můžete odkazovat na související hodnoty pod stejným názvem. K jejich rozlišení můžete použít index nebo dolní index. Jednotlivé hodnoty se označují jako prvky pole Excel VBA. Jsou souvislé od indexu 0 po nejvyšší hodnotu indexu.
V tomto kurzu se předpokládá, že používáte Microsoft Excel verze 2013. Znalosti stále platí i pro další verze aplikace Microsoft Excel.
V tomto výukovém programu pro programování VBA se naučíte-
- Jaké jsou výhody polí?
- Typy polí ve VBA
- Jak používat pole v aplikaci Excel VBA
- Testování naší aplikace
Jaké jsou výhody polí?
Následuje několik výhod nabízených funkcí pole VBA
- Seskupte logicky související data dohromady - řekněme, že chcete uložit seznam studentů. Můžete použít jednu proměnnou pole, která má samostatná umístění pro kategorie studentů, tj. Mateřská zahrada, základní, střední, střední škola atd.
- Pole usnadňují psaní udržovatelného kódu. Pro stejná logicky související data umožňuje definovat jednu proměnnou namísto definování více než jedné proměnné.
- Lepší výkon - jakmile je pole definováno, je rychlejší načítat, třídit a upravovat data.
Typy polí ve VBA
VBA podporuje dva typy polí, jmenovitě;
- Statické - Tyto typy polí mají pevný předem určený počet prvků, které lze uložit. Nelze změnit velikost datového typu statického pole. Jsou užitečné, když chcete pracovat se známými entitami, jako je počet dní v týdnu, pohlaví atd.
Například : Dim ArrayMonth (12) jako řetězec
- Dynamické - Tyto typy polí nemají pevný předem určený počet prvků, které lze uložit. Jsou užitečné při práci s entitami, u kterých nemůžete předem určit počet.
Například : Dim ArrayMonth () jako varianta
Syntaxe pro deklaraci polí
Statická pole
Syntaxe pro deklaraci STATICKÝCH polí je následující:
Dim arrayName (n) as datatype
TADY,
Kód | Akce |
Dim pole Název (n) datový typ |
|
Dynamická pole
Syntaxe pro deklaraci DYNAMICKÝCH polí je následující:
Dim arrayName() as datatypeReDim arrayName(4)
TADY,
Kód | Akce |
Dim arrayName () datový typ |
|
ReDim arrayName (4) |
|
Rozměry pole
Pole může mít jednu dimenzi, dvě dimenze nebo vícerozměrné pole.
- Jedna dimenze : V této dimenzi používá pole pouze jeden index. Například počet lidí každého věku.
- Dvě dimenze : V této dimenzi používá pole dva indexy. Například počet studentů v každé třídě. Vyžaduje počet tříd a počet studentů v každé třídě
- Více dimenzí : V této dimenzi používá pole více než dva indexy. Například teploty během dne. (30, 40, 20).
Jak používat pole v aplikaci Excel VBA
Vytvoříme jednoduchou aplikaci. Tato aplikace naplní list aplikace Excel daty z proměnné pole. V tomto příkladu VBA Array budeme dělat následující věci.
- Vytvořte nový sešit Microsoft Excel a uložte jej jako sešit Excel podporující makra (* .xlsm)
- Přidejte do sešitu příkazové tlačítko
- Nastavte název a titulek vlastnosti příkazového tlačítka
- Programování VBA, který vyplňuje list aplikace Excel
Nechte toto cvičení krok za krokem,
Krok 1 - Vytvořte nový sešit
- Otevřete Microsoft Excel
- Uložte nový sešit jako VBA Arrays.xlsm
Krok 2 - Přidejte příkazové tlačítko
Poznámka: Tato část předpokládá, že jste obeznámeni s procesem vytváření rozhraní v aplikaci Excel. Pokud nejste obeznámeni, přečtěte si tutoriál VBA Excel Form Control & ActiveX Control. Ukáže vám, jak vytvořit rozhraní
- Přidejte do listu příkazové tlačítko
- Nastavte vlastnost name na cmdLoadBeverages
- Vlastnost titulek nastavte na Načíst nápoje
Vaše grafické uživatelské rozhraní by nyní mělo být následující
Krok 3 - Uložte soubor
- Klikněte na tlačítko Uložit jako
- Vyberte sešit Excel podporující makra (* .xlsm), jak je znázorněno na obrázku níže
Krok 4 - Napište kód
Nyní napíšeme kód pro naši aplikaci
- Klikněte pravým tlačítkem na tlačítko Načíst nápoje a vyberte zobrazit kód
- Přidejte následující kód do události kliknutí cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub
TADY,
Kód |
Akce |
Tlumené nápoje (1 až 4) jako řetězec |
|
Nápoje (1) = "Pepsi" |
|
Sheet1.Cells (1, 1) .Value = "Moje oblíbené nápoje." |
|
List 1. Buňky (2, 1). Hodnota = Nápoje (1) |
|
Testování naší aplikace
Vyberte kartu vývojáře a zkontrolujte, zda je tlačítko Režim návrhu „vypnuto“. Indikátor je, že bude mít bílé pozadí a ne barevné (nazelenalé) pozadí. (Viz obrázek níže)
Klikněte na tlačítko Načíst nápoje
Získáte následující výsledky
Stáhněte si Excel obsahující výše uvedený kód
Stáhněte si výše uvedený kód Excel
souhrn
- Pole je proměnná schopná uložit více než jednu hodnotu
- Excel VBA podporuje statická a dynamická pole
- Pole usnadňují zápis udržovatelného kódu ve srovnání s deklarováním mnoha proměnných pro data, která logicky souvisejí.