Tablice Excel VBA
Generalnie jedna zmienna ma przechowywać pojedynczą wartość na raz, ale gdy chcemy przechowywać wiele wartości w jednej zmiennej to taki typ zmiennej jest znany jako zmienna tablicowa, aby użyć zmiennej tablicowej w VBA musimy zadeklarować lub zdefiniuj ją najpierw, możemy zdefiniować zmienną tablicową z jej długością lub bez jej długości.
Załóżmy, że mamy dane zawierające setki wierszy i wiele kolumn i musimy utworzyć kod, który będzie korzystał z tych danych. Teraz w tym przypadku musimy stworzyć wielokrotności zmiennej, która pobierze wartość z komórek i przekaże ją do programu. Tworzenie tak dużej ilości zmiennej będzie bardzo męczące, dlatego w takich przypadkach używamy tablic w programie Excel.

Tablice przechowują zestaw danych w swojej pamięci i nie wymagają od nas deklarowania zmiennej dla każdej wartości, która ma zostać pobrana z danych. Potrzeba używania tablic wynika z faktu, że zmienna programu Excel jest zaprojektowana tak, aby przechowywać jedną wartość naraz. Jednak gdy zmienna przechowuje wiele wartości, staje się tablicą.
- Tworzenie tablicy przypomina tworzenie oddzielnej jednostki pamięci, która może przechowywać w niej dane. Aby utworzyć tablicę, dane muszą być tego samego typu.
- Tablice, które przekazujemy do programu Excel, muszą odpowiadać rodzajowi danych, które posiadamy. Załóżmy, że mamy dane, które mają tylko wiersze, więc w tym przypadku użyjemy „tablicy jednowymiarowej”, a jeśli dane zawierają również kolumny, to musimy użyć „tablic dwuwymiarowych”, ponieważ są one w stanie przechowywać tylko wartości z wierszy i kolumn.
- Tablice muszą również działać jako tablice dynamiczne lub tablice statyczne. Ponieważ dajemy formule zakres dynamiczny, możemy również uczynić zmienną Arrays. Tablice dynamiczne będą miały funkcjonalność obejmującą nieskończoną liczbę wierszy i kolumn. W przypadku, gdy zdefiniowane przez nas tablice są typu statycznego, to mogą one zawierać tylko ograniczoną liczbę wierszy i kolumn, jak określono w momencie tworzenia tablicy.
Wyjaśnienie
Array działa zgodnie z „Matematyczną regułą macierzy”. Oznacza to, że identyfikują dane tylko na podstawie ich lokalizacji. Załóżmy, że jeśli musimy sprawić, by VBA zrozumiał, że potrzebujemy „20” w komórce „B3”, wówczas musimy zapisać kod lokalizacji jako (3, 2), gdzie pierwsza wartość oznacza lokalizację wiersza, a druga wartość oznacza numer kolumny. W świecie programu Excel ten kod lokalizacji nazywa się „górną granicą” i „dolną granicą”. Domyślnie lokalizacja w programie Excel zaczyna się od jednego, a nie od zera, więc program Excel widzi „A1” jako wiersz numer 0, a nie wiersz numer 1.
Podobnie kolumny zaczynają się od zera, a nie od jedynki.

Te tablice można zdefiniować jako tablicę statyczną lub tablicę dynamiczną. Jeśli zdefiniujemy je jako tablicę statyczną, oznacza to, że nie mogą one zawierać więcej niż zmiennych zdefiniowanych podczas ich kodowania. Jeśli nie mamy pewności co do wartości, która ma być zapamiętana przez tablice, tworzymy tablice dynamiczne, które w takich przypadkach mogą zawierać nieskończone liczby wartości.
Teraz, po wybraniu wymaganego typu tablicy, będziemy musieli wprowadzić dane w tych tablicach.
Te dane należy podawać pojedynczo, aby wyróżniać się w poniższych sposobach.

Po zapisaniu danych w tych tablicach są one gotowe do użycia jako zmienna w kodowaniu VBA.
Lista 5 najpopularniejszych typów tablic
- Tablice statyczne
- Dynamiczna tablica
- Jednowymiarowa tablica
- Dwuwymiarowa tablica
- Tablica wielowymiarowa
Przyjrzyjmy się szczegółowo każdemu z nich.
# 1 - Tablice statyczne
Tablica, która ma wstępnie zdefiniowaną liczbę wartości, które można w niej przechowywać.

# 2 - Tablica dynamiczna
Tablica z nieokreśloną liczbą wartości, którą może obsłużyć.
# 3 - Jednowymiarowa tablica
Tablica, która może przechowywać tylko dane z wierszy lub kolumn.


# 4 - dwuwymiarowa tablica
Tablica, która może przechowywać wartość z wierszy i kolumn.


# 5 - Wielowymiarowa tablica


Jak korzystać z tablic w VBA (z przykładami)?
Tablice mogą być używane w wielu sytuacjach, ale muszą być używane, gdy liczba zmiennych, które mają być zadeklarowane, jest duża i nie jest możliwe ich zadeklarowanie.
Poniżej znajduje się kilka przykładów, ale zanim przejdziemy do przykładów, nauczymy się otwierać edytor VBA za pomocą klawisza skrótu.

Otworzy się edytor VBA. Stamtąd musimy wprowadzić kod w „tym arkuszu”.

Przykład 1
Wybierz żądany typ tablicy. Czy powinna to być tablica dynamiczna czy statyczna?
Jeśli potrzebujemy tablicy dynamicznej, zdefiniujemy wymiar jako „wariant”.

Jeśli potrzebujemy tablicy statycznej, zdefiniujemy wymiar jako „Statyczny”.

Przykład nr 2
Zdefiniuj kolumny i wiersze, które chcesz przechowywać w tablicy.
Jeśli w nawiasie wpisaliśmy „1”, oznacza to, że tablica może przechowywać wartości dwóch wierszy, ponieważ liczenie w programie Excel zaczyna się od zera.

Jeśli potrzebujemy również kolumn i wierszy, musimy zdefiniować oba z nich.
Tutaj „1 do 2” oznacza dwa wiersze, a „1 do 3” oznacza trzy kolumny.

Tutaj zmieniliśmy zasadę liczenia wierszy w programie Excel i poprosiliśmy, aby liczył od „1”, a nie od zera.
Przykład nr 3
Wprowadzenie danych do tablicy.
Dane muszą być wprowadzane do komórek mądrze. Tutaj dane należy wprowadzić w postaci (I, j), gdzie „I” oznacza wiersz, a „J” oznacza kolumnę.
Zatem „a (1,1”) oznacza tę komórkę „A1”.

Przykład 4
Zamykamy kod.
Po wprowadzeniu danych do tablicy ostatnim krokiem będzie zamknięcie kodu.

Rzeczy do zapamiętania
- Domyślnie program Excel policzy wiersze zaczynając od zera. Oznacza to, że „2” zamiast „I” będzie oznaczać 3 rzędy, a nie 2 rzędy. To samo dotyczy „J.”
- Dane, które należy wprowadzić do tablicy, muszą zaczynać się od (0, 0), czyli z pierwszego wiersza i pierwszej kolumny.
- W przypadku, gdy używamy tablic dynamicznych, będzie to wymagało funkcji „VBA REDIM” w celu określenia liczby wierszy i kolumn, które mają być zapamiętane.
- W przypadku tworzenia dwuwymiarowej tablicy jako wymiaru musimy użyć „Integer”.
- Plik Excela należy zapisać w wersji „kompatybilnej z makrami”, w przeciwnym razie kodowanie, które zrobiliśmy w VBA, zniknie i nie będzie działać następnym razem.