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. Toto, 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; je to spíše externí knihovna nebo objekt, který potřebujeme nastavit jako odkaz, než k němu začneme přistupovat.

Pole ve VBA jsou nedílnou součástí jakéhokoli kódovacího jazyka. Pomocí 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í a horní hranici pole. Musíme se rozhodnout v dostatečném předstihu v době deklarování 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“ v 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.

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: Vzhledem k tomu, že seznam polí je 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

With two array lists, I have stored Names of the Mobile and Prices of the Mobile. Now we need to insert these values to the worksheet for this. We need to use loops. The below loop will do the job for me.

Below is the Overall code to store values to the worksheet.

Code:

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.

Zajímavé články...