VBA ArrayList (příklady) | Jak vytvořit ArrayList v aplikaci Excel VBA?

Ve vba jsme vytvořili kolekce datových typů, proměnných funkcí a dalších důležitých příkazů, ale podobně jako v tomto případě máme seznam polí ve VBA, ve kterém může uživatel upravovat a vkládat své vlastní kolekce proměnných a uživatelem definované funkce do pole, existují určité klíčová slova pro návrh pole.

Excel VBA ArrayList

VBA ArrayList je druh datové struktury, kterou používáme ve VBA k ukládání dat. ArrayList v aplikaci Excel VBA je třída sloužící k vytvoření pole hodnot. To na rozdíl od tradičních polí, kde tato pole mají pevnou délku, ale seznam polí nemá žádnou pevnou délku.

VAB ArrayList není součástí seznamu VBA, jedná se spíše o externí knihovnu nebo objekt, kterému je třeba nastavit odkaz, než k němu začneme přistupovat.

Pole ve VBA jsou nedílnou součástí jakéhokoli kódovacího jazyka. Použitím polí v aplikaci Excel můžeme ukládat data s jediným názvem proměnné deklarováním „dolní a horní hranice“.

U regulárních polí musíme rozhodnout o dolní hranici a horní hranici pole, kterou musíme rozhodnout s dostatečným předstihem v době deklarace proměnné v případě statických polí a v případě dynamických polí musíme rozhodnout o délce pole po deklaraci pole pomocí příkazu „ReDim“ ve VBA.

Máme však ještě jednu možnost, kde můžeme uložit „N“ počet hodnot bez deklarace dolní a horní hranice. V tomto článku vám ukážeme tuto možnost, tj. „VBA ArrayList“

Chcete-li nastavit odkaz na objekt VBA ArrayList, postupujte podle následujících kroků.

Krok 1: Přejděte na Nástroje> Odkazy

Krok 2: Před vámi se objeví referenční okno knihovny objektů. Vyberte možnost „ mscorlib.dll

Krok 3: Klikněte také na OK. Nyní můžeme přistupovat k VBA ArrayList.

Příklady seznamu VBA ArrayList v aplikaci Excel

Níže jsou uvedeny příklady Excel VBA ArrayList.

Tuto šablonu VBA ArrayList Excel si můžete stáhnout zde - Šablona VBA ArrayList Excel

Příklad č. 1 - Vytvoření instance VBA ArrayList

Protože Excel VBA ArrayList je externí objekt, musíme vytvořit instanci, abychom ji mohli začít používat. Chcete-li vytvořit instanci, postupujte podle následujících kroků.

Krok 1: Deklarujte proměnnou jako „ ArrayList “.

Kód:

 Sub ArrayList_Example1 () Dim ArrayValues ​​jako ArrayList End Sub 

Krok 2: Protože je Array List objekt, musíme vytvořit novou instanci.

Kód:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList End Sub 

Krok 3: Nyní můžeme ukládat hodnoty do proměnné pole pomocí metody „Přidat“. Na následujícím obrázku jsem přidal tři hodnoty.

Kód:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Ahoj" 'První hodnota ArrayValues.Add "Dobrá"' Druhá hodnota ArrayValues.Add "Ráno" 'Tři hodnoty Konec Sub 

Nyní jsme přiřadili tři hodnoty, jak zjistíme, která je první a jak můžeme hodnoty ukázat nebo je použít pro naše potřeby.

Pokud si pamatujete tradiční typ pole, odkazujeme na první hodnotu pole jako „ArrayName (0)“

Podobně zde můžeme použít stejnou techniku.

ArrayValue (0) = „Dobrý den“
ArrayValue (1) = „Dobré“
ArrayValue (2) = „Ráno“

Ukaž to v okně se zprávou.

Kód:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value MsgBox ArrayValues ​​(0) & vbNewLes & ArrayVales. 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Nyní spusťte kód pomocí klávesy F5 nebo ručně, pak se v okně se zprávou VBA zobrazí „Hello“, „Good“ a „Morning“.

Takto můžeme uložit libovolný počet hodnot s objektem seznamu polí.

Příklad č. 2 - Ukládání hodnot do buněk pomocí VBA ArrayList

Podívejme se na příklad ukládání přiřazených hodnot buňkám v listu. Nyní se podívejte na níže uvedený kód VBA.

Kód:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Names of the mobile MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Přidat "VIVO" MobileNames.Add "LG" Nastavit MobilePrice = Nový ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Se dvěma seznamy polí jsem uložil Názvy mobilu a Ceny mobilu. Nyní musíme tyto hodnoty vložit do listu, abychom mohli použít smyčky. Níže uvedená smyčka udělá práci za mě.

Níže je uveden celkový kód pro ukládání hodnot do listu.

Kód:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Names of the mobile MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Přidat "VIVO" MobileNames.Add "LG" Nastavit MobilePrice = Nový ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Pro i = 1 až 5 buněk (i, 1) .Value = MobileNames (k) Buňky (i, 2) .Value = MobilePrice (k) k = k + 1 Další i Konec Sub 

Když spustíme kód ručně nebo pomocí klávesy F5, dostaneme níže uvedený výsledek.