VBA ArrayList

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 stałej długości.

VAB ArrayList nie jest częścią listy VBA, ale jest to zewnętrzna biblioteka lub obiekt, do którego musimy ustawić odniesienie, zanim zaczniemy do niego uzyskiwać 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 ustalić dolną i górną granicę tablicy, którą musimy zdecydować z dużym wyprzedzeniem w momencie deklarowania zmiennej w przypadku tablic statycznych, aw przypadku tablic dynamicznych musimy zdecydować o długości array po zadeklarowaniu tablicy za pomocą instrukcji „ReDim” w języku 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.

Możesz pobrać ten szablon VBA ArrayList Excel tutaj - szablon VBA ArrayList Excel

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

Ponieważ Excel VBA ArrayList jest obiektem zewnętrznym, musimy utworzyć instancję, aby zacząć go używać. 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ż Array List 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 przechowywać wartości do 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 mamy przypisane trzy wartości, jak zidentyfikować, która z nich jest pierwsza i jak możemy pokazać wartości lub użyć ich 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 

W przypadku dwóch list tablicowych zapisałem nazwy telefonów komórkowych i ceny telefonów komórkowych. Teraz musimy wstawić te wartości do arkusza, w tym celu musimy użyć pętli. Poniższa pętla zrobi to za mnie.

Poniżej znajduje się ogólny kod do przechowywania wartości w arkuszu.

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.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.