Funkcja tablic VBA w programie Excel

W VBA tablice są używane do definiowania grupy obiektów razem, w VBA jest dziewięć różnych funkcji tablicowych i są to ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT i UBOUND, wszystkie te funkcje są wbudowane w tablice w VBA funkcja Array podaje nam wartość podanego argumentu.

Funkcja Excel VBA Array

Funkcja tablicowa to zbiór wartości w jednej zmiennej. Możemy dostarczyć tablicę do podprogramu w vba, funkcjach i właściwościach. Tablice VBA to jedna z często używanych technik przechowywania więcej niż jednej wartości w zmiennej.

Przykłady funkcji Excel VBA Array

Zamiast deklarować wiele zmiennych i przechowywać wartości, możemy użyć tablicy Excel VBA do przechowywania wartości w samej zmiennej. Na przykład spójrz na poniższy przykład

Możesz pobrać ten szablon VBA Array Excel tutaj - Szablon VBA Array Excel

Kod:

 Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range („A1”). Value = x Range („A2”). Value = y End Sub 

W powyższym przykładzie zadeklarowałem dwie zmienne o nazwie x & y. X przechowuje 1 jako wartość, a Y ma 2 jako wartość.

Spójrzmy teraz na przykład funkcji tablicowej Excel VBA z pojedynczą zmienną.

Kod:

 Sub Array_Ex () Dim x (1 do 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub 

Teraz, jeśli uruchomisz ten kod VBA, będziemy mieć wartości w komórkach A1 i A2.

Zmienne tablicowe zwracały wynik jako zero. Dzieje się tak, ponieważ właśnie zadeklarowaliśmy zmienne jako dwie, ale nie przypisaliśmy im żadnych wartości. Musimy więc przypisać wartości do tych zmiennych.

Kod:

 Sub Array_Ex () Dim x (1 do 2) As Integer x (1) = 10 x (2) = 20 Range („A1”). Value = x (1) Range („A2”). Value = x (2 ) Napis końcowy 

Teraz uruchom kod, aby uzyskać wyniki.

Zanim wprowadzimy wartości zmiennych tablicowych do komórek, musimy przypisać wartość do zadeklarowanych zmiennych tablicowych, tak jak przypisaliśmy zmienne x (1) = 10 i x (2) = 20.

Przykład nr 1 - wstawianie numerów seryjnych za pomocą tablicy statycznej

Spójrzmy na przykład użycia tablicy statycznej do wstawiania numerów seryjnych. To jest bardzo podobne do poprzedniego.

Kod:

 Sub StaticArray_Ex () Dim x (1 do 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range („A1”). Wartość = x (1) Zakres ("A2"). Wartość = x (2) Zakres ("A3"). Wartość = x (3) Zakres ("A4"). Wartość = x (4) Zakres ("A5") Wartość = x (5) End Sub 

Teraz uruchom ten kod, aby wstawić numery seryjne.

Przykład 2 - wstawianie numerów seryjnych za pomocą tablicy dynamicznej

Teraz zobaczymy drugi typ tablicy, tj. Tablicę dynamiczną

Kod:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range („A1” ) .Wartość = x (1) Zakres ("A2"). Wartość = x (2) Zakres ("A3"). Wartość = x (3) Zakres ("A4"). Wartość = x (4) Zakres (" A5 ”). Wartość = x (5) End Sub 

Teraz uruchom ten kod, aby uzyskać wynik numerów seryjnych. Otrzymujemy taki sam wynik jak poprzedni.

Jeśli zauważysz, że nie podaliśmy długości tablicy podczas deklarowania zmiennej, zamiast tego przypisaliśmy ostatnią wartość tablicy VBA za pomocą funkcji VBA Redim. Redim przechowuje ostatnią wartość tablicy do przekazania.

Przykład # 3 - Utwórz funkcję Wstaw nazwy miesięcy za pomocą tablicy

Widzieliśmy, jak pracować z tablicami w VBA. Teraz zobaczymy, jak pracować z tablicą, aby utworzyć funkcje VBA w programie Excel. Funkcja to nic innego jak funkcja zdefiniowana przez użytkownika w języku VBA. Oprócz korzystania z wbudowanych funkcji, program Excel VBA pozwala nam również tworzyć własne funkcje.

Kod:

 Funkcja List_Of_Months () List_Of_Months = Array („Sty”, „Lut”, „Mar”, „Kwi”, „Maj”, „Cze”, „Lip”, „Sie”, „Wrz”, „Paź”, „Lis "," Dec ") Koniec funkcji 

Poniższy kod utworzy funkcję, która może wstawić miesiące do naszego arkusza Excela.

Skopiuj i wklej poniższy kod do swojego modułu.

Teraz zapisz ten kod i zamknij Edytor VBA. Po zamknięciu edytora VBA przejdź do arkusza roboczego i wpisz formułę, którą właśnie utworzyliśmy, a w arkuszu powinna pojawić się formuła o nazwie Lista_Miesięcznych .

Otwórz formułę i naciśnij Enter. Otrzymamy imię z pierwszego miesiąca tj. Jan

Jeśli wstawisz formułę jeszcze raz, nadal otrzymamy tylko styczeń, a nie następny miesiąc luty. Więc najpierw wybierz 12 kolumn w jednym wierszu.

Teraz otwórz formułę w komórce D1.

Ponieważ utworzyliśmy formułę z tablicą, musimy zamknąć formuły tylko jako formułę tablicową. Więc przytrzymaj Ctrl + Shift + Enter. Mielibyśmy wszystkie 12-miesięczne nazwy.

Rzeczy do zapamiętania

  • Dostępne są jeszcze dwa typy tablic, tj. Tablica dwuwymiarowa i tablica wielowymiarowa.
  • Tablice zaczynają się od 0, a nie od 1. Zero oznacza pierwszy wiersz i pierwszą kolumnę.
  • Tablica to duży temat, który musisz zrozumieć, aby przejść na następny poziom.
  • Zmienna tablicowa będzie taką, która przechowuje dużo danych za każdym razem, gdy przechodzi do następnego poziomu.
  • Redim służy do przechowywania ostatniej długości tablicy w dynamicznym typie tablicy.