VBA ArrayList (przykłady) - Jak utworzyć ArrayList w Excel VBA?

Spisie treści

W vba mamy wbudowane zbiory typów danych, funkcji zmiennych i innych ważnych instrukcji, ale podobnie do tego mamy listę tablic w VBA, w której użytkownik może modyfikować i umieszczać własne zbiory zmiennych i funkcje zdefiniowane przez użytkownika w tablicy, są pewne słowa kluczowe dla listy tablic, aby ją zaprojektować.

Excel VBA ArrayList

VBA ArrayList to rodzaj struktury danych, której używamy w VBA do przechowywania danych. ArrayList w Excel VBA to klasa używana do tworzenia tablicy wartości. W przeciwieństwie do tradycyjnych tablic, w których te tablice mają stałą długość, ale lista tablic nie ma ustalonej długości.

VAB ArrayList nie jest częścią listy VBA; jest to raczej zewnętrzna biblioteka lub obiekt, do którego musimy ustawić odniesienie, zanim zaczniemy uzyskiwać do niego dostęp.

Tablice w VBA są integralną częścią każdego języka kodowania. Używając tablic w programie Excel, możemy przechowywać dane z pojedynczą nazwą zmiennej, deklarując „dolną i górną granicę”.

W przypadku zwykłych tablic musimy określić dolną i górną granicę tablicy. Musimy zdecydować z dużym wyprzedzeniem w momencie deklarowania zmiennej w przypadku tablic statycznych, aw przypadku tablic dynamicznych musimy zdecydować o długości tablicy po zadeklarowaniu tablicy za pomocą instrukcji „ReDim” w VBA.

Mamy jednak jeszcze jedną opcję, w której możemy zapisać liczbę „N” wartości bez deklarowania dolnej i górnej granicy. W tym artykule pokażemy Ci tę opcję, np. „VBA ArrayList”.

Aby ustawić odniesienie do obiektu VBA ArrayList, wykonaj poniższe czynności.

Krok 1: Przejdź do Narzędzia> Referencje.

Krok 2: Pojawi się okno referencyjne biblioteki obiektów. Wybierz opcję „ mscorlib.dll.

Krok 3: Kliknij też OK. Teraz możemy uzyskać dostęp do VBA ArrayList.

Przykłady VBA ArrayList w programie Excel

Poniżej znajdują się przykłady Excel VBA ArrayList.

Przykład # 1 - Utwórz wystąpienie VBA ArrayList

Ponieważ Excel VBA ArrayList jest obiektem zewnętrznym, musimy utworzyć instancję, aby zacząć z niej korzystać. Aby utworzyć instancję, wykonaj poniższe czynności.

Krok 1: zadeklaruj zmienną jako „ ArrayList”.

Kod:

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

Krok 2: Ponieważ lista tablic jest obiektem, musimy utworzyć nową instancję.

Kod:

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

Krok 3: Teraz możemy nadal przechowywać wartości w zmiennej tablicowej przy użyciu metody „Add”. Na poniższym obrazku dodałem trzy wartości.

Kod:

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 End Sub

Teraz przypisaliśmy trzy wartości, w jaki sposób zidentyfikujemy, która z nich jest pierwsza i jak możemy pokazać wartości lub wykorzystać je do naszych potrzeb.

Jeśli pamiętasz tradycyjny typ tablicy, odwołujemy się do pierwszej wartości tablicy, np. „ArrayName (0)”

Podobnie, możemy tutaj użyć tej samej techniki.

ArrayValue (0) = „Witaj”
ArrayValue (1) = „Dobra”
ArrayValue (2) = „Rano”

Pokażmy to w oknie komunikatu.

Kod:

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) & vbNewaluLine & 1) & vbNewLine & ArrayValues ​​(2) End Sub

Teraz uruchom kod za pomocą klawisza F5 lub ręcznie, wtedy w oknie komunikatu VBA zobaczymy „Hello”, „Good” i „Morning”.

W ten sposób możemy przechowywać dowolną liczbę wartości za pomocą obiektu Array List.

Przykład # 2 - Przechowywanie wartości w komórkach za pomocą VBA ArrayList

Zobaczmy przykład przechowywania przypisanych wartości do komórek w arkuszu. Teraz spójrz na poniższy kod VBA.

Kod:

Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Ustaw MobileNames = New ArrayList 'Nazwy telefonów komórkowych MobileNames. Dodaj "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Dodaj „VIVO” MobileNames.Add „LG” Ustaw MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Dodaj 25000 MobilePrice.Dodaj 18500 MobilePrice.Dodaj 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 Ustaw MobileNames = New ArrayList 'Nazwy telefonów komórkowych MobileNames. Dodaj "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Dodaj „VIVO” MobileNames.Add „LG” Ustaw MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Dla i = 1 do 5 komórek (i, 1) .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub

Kiedy uruchomimy kod ręcznie lub za pomocą klawisza F5, otrzymamy poniższy wynik.

Interesujące artykuły...