Tablice Excel VBA: co to jest, jak używać i rodzaje tablic w VBA

Co to jest tablica VBA?

Tablicę definiuje się jako miejsce w pamięci, w którym można przechowywać więcej niż jedną wartość. Wszystkie wartości muszą być tego samego typu danych. Powiedzmy, że chcesz przechowywać listę swoich ulubionych napojów w jednej zmiennej, możesz do tego użyć tablicy VBA.

Używając tablicy, możesz odwoływać się do powiązanych wartości o tej samej nazwie. Aby je rozróżnić, możesz użyć indeksu lub indeksu dolnego. Poszczególne wartości nazywane są elementami tablicy Excel VBA. Są one ciągłe od indeksu 0 do najwyższej wartości indeksu.

W tym samouczku założono, że używasz Microsoft przewyższać wersja 2013. Wiedza ta nadal dotyczy pozostałych wersji Microsoft Excela również.

Jakie są zalety tablic?

Poniżej przedstawiono niektóre korzyści oferowane przez funkcję tablicową VBA

  1. Grupuj logicznie powiązane dane — powiedzmy, że chcesz przechowywać listę uczniów. Możesz użyć pojedynczej zmiennej tablicowej, która ma osobne lokalizacje dla kategorii uczniów, np. przedszkole, szkoła podstawowa, średnia, średnia itp.
  2. Tablice ułatwiają pisanie łatwego w utrzymaniu kodu. Dla tych samych logicznie powiązanych danych pozwala zdefiniować jedną zmienną, zamiast definiować więcej niż jedną zmienną.
  3. Lepsza wydajność – po zdefiniowaniu tablicy można szybciej pobierać, sortować i modyfikować dane.

Rodzaje tablic w VBA

VBA obsługuje dwa typy tablic, a mianowicie;

  • Statyczny – Tego typu tablice mają stałą, z góry określoną liczbę elementów, które można przechowywać. Nie można zmienić rozmiaru typu danych tablicy statycznej. Są one przydatne, gdy chcesz pracować ze znanymi jednostkami, takimi jak liczba dni w tygodniu, płeć itp.Na przykład: Dim ArrayMonth(12) jako ciąg znaków
  • Dynamiczny – Tablice tego typu nie mają ustalonej, z góry określonej liczby elementów, które można przechowywać. Są one przydatne podczas pracy z elementami, których liczby nie można z góry określić.Na przykład: Dim ArrayMonth() jako wariant

Składnia deklarowania tablic

Tablice statyczne

Składnia deklarowania STATYCZNY tablice wygląda następująco:

Dim arrayName (n) as datatype

TUTAJ,

Code Działania
Dim arrayName (n) typ danych
  1. Deklaruje zmienną tablicową o nazwie arrayName o rozmiarze n i typie danych. Rozmiar odnosi się do liczby elementów, które tablica może przechowywać.

Tablice dynamiczne

Składnia deklarowania DYNAMICZNY tablice wygląda następująco:

Dim arrayName() as datatype
ReDim arrayName(4)

TUTAJ,

Code Działania
Dim arrayName () typ danych
  1. Deklaruje zmienną tablicową o nazwie arrayName bez określania liczby elementów
Nazwa tablicy ReDim(4)
  1. Określa rozmiar tablicy po zdefiniowaniu tablicy.

Wymiary tablicy

Tablica może być jednowymiarowa, dwuwymiarowa lub wielowymiarowa.

  • Jeden wymiar: W tym wymiarze tablica używa tylko jednego indeksu. Na przykład pewna liczba osób w każdym wieku.
  • Dwa wymiary: W tym wymiarze tablica używa dwóch indeksów. Na przykład liczba uczniów w każdej klasie. Wymagana jest liczba klas i liczba uczniów w każdej klasie
  • Wielowymiarowy: W tym wymiarze tablica używa więcej niż dwóch indeksów. Na przykład temperatury w ciągu dnia. (30, 40, 20).

Jak korzystać z tablicy w Excel VBA

Stworzymy prostą aplikację. Ta aplikacja wypełnia arkusz Excela danymi ze zmiennej tablicowej. W tym przykładzie VBA Array zrobimy następujące rzeczy.

  • Stwórz nowy Microsoft Skoroszyt programu Excel i zapisz go jako skoroszyt programu Excel z obsługą makr (*.xlsm)
  • Dodaj przycisk polecenia do skoroszytu
  • Ustaw nazwę i właściwości podpisu przycisku polecenia
  • Programowanie VBA wypełniającego arkusz Excela

Zróbmy to ćwiczenie krok po kroku,

Krok 1 – Utwórz nowy skoroszyt

  1. Otwarte Microsoft przewyższać
  2. Zapisz nowy skoroszyt jako VBA Arrays.xlsm

Krok 2 – Dodaj przycisk poleceń

Uwaga: W tej sekcji założono, że znasz proces tworzenia interfejsu w programie Excel. Jeśli nie jesteś zaznajomiony, przeczytaj tutorial Kontrola formularzy VBA Excel i kontrola ActiveX. Pokaże Ci jak stworzyć interfejs

  1. Dodaj przycisk polecenia do arkusza

Użyj tablicy w Excel VBA

  1. Ustaw właściwość name na cmdLoadBeverages
  2. Ustaw właściwość podpisu na Załaduj napoje

Twój GUI powinien teraz wyglądać następująco

Użyj tablicy w Excel VBA

Krok 3 – Zapisz plik

  1. Kliknij przycisk Zapisz jako
  2. Wybierz Skoroszyt programu Excel z obsługą makr (*.xlsm), jak pokazano na obrazku poniżej

Użyj tablicy w Excel VBA

Krok 4 – Napisz kod

Napiszemy teraz kod naszej aplikacji

  1. Kliknij prawym przyciskiem myszy przycisk Załaduj napoje i wybierz opcję Wyświetl kod
  2. Dodaj następujący kod do zdarzenia kliknięcia cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()
    Dim Drinks(1 To 4) As String
     
    Drinks(1) = "Pepsi"
    Drinks(2) = "Coke"
    Drinks(3) = "Fanta"
    Drinks(4) = "Juice"
     
    Sheet1.Cells(1, 1).Value = "My Favorite Beverages"
    Sheet1.Cells(2, 1).Value = Drinks(1)
    Sheet1.Cells(3, 1).Value = Drinks(2)
    Sheet1.Cells(4, 1).Value = Drinks(3)
    Sheet1.Cells(5, 1).Value = Drinks(4)
End Sub

TUTAJ,

Code Działania
Ciemne napoje (1 do 4) jako ciąg
  • Deklaruje zmienną tablicową o nazwie Drinks. Pierwszy indeks tablicy to 1, a ostatni indeks tablicy to 4.
Napoje(1) = „Pepsi”
  • Przypisuje wartość Pepsi do pierwszego elementu tablicy. Drugi podobny kod robi to samo dla pozostałych elementów tablicy.
Sheet1.Cells(1, 1).Value = „Moje ulubione napoje”.
  • Zapisuje wartość Moje ulubione napoje w adresie komórki A1. Arkusz1 odwołuje się do arkusza, a Cells(1,1) odwołuje się do wiersza numer 1 i kolumny 1 (B)
Arkusz1.Komórki(2, 1).Wartość = Napoje(1)
  • Zapisuje wartość elementu tablicy o indeksie 1 w drugim wierszu kolumny 1

Testowanie naszej aplikacji

Wybierz kartę programisty i upewnij się, że przycisk trybu projektowania jest „wyłączony”. Wskaźnikiem jest to, że będzie miało białe tło, a nie kolorowe (zielonkawe) tło. (Patrz obrazek poniżej)

Testowanie aplikacji w Excel VBA

Kliknij przycisk Załaduj napoje

Otrzymasz następujące wyniki

Testowanie aplikacji w Excel VBA

Pobierz Excel zawierający powyższy kod

Pobierz powyższy kod Excela

Podsumowanie

  1. Tablica to zmienna, która może przechowywać więcej niż jedną wartość
  2. Excel VBA obsługuje tablice statyczne i dynamiczne
  3. Tablice ułatwiają pisanie łatwego w utrzymaniu kodu w porównaniu z deklarowaniem wielu zmiennych dla danych, które są logicznie powiązane.