Tablice Excel VBA: co to jest, jak używać & Rodzaje tablic w VBA

Spisie treści:

Anonim

Co to jest tablica VBA?

Tablica jest definiowana jako lokalizacja pamięci, w której można przechowywać więcej niż jedną wartość. Wszystkie wartości muszą mieć ten sam typ 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 przy użyciu tej samej nazwy. Możesz użyć indeksu lub indeksu dolnego, aby je rozróżnić. Poszczególne wartości nazywane są elementami tablicy Excel VBA. Są ciągłe od indeksu 0 do najwyższej wartości indeksu.

W tym samouczku założono, że korzystasz z programu Microsoft Excel w wersji 2013. Ta wiedza nadal dotyczy również innych wersji programu Microsoft Excel.

W tym samouczku programowania VBA nauczysz się:

  • Jakie są zalety tablic?
  • Rodzaje tablic w VBA
  • Jak korzystać z tablicy w Excel VBA
  • Testowanie naszej aplikacji

Jakie są zalety tablic?

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

  1. Grupuj logicznie powiązane dane - powiedzmy, że chcesz przechowywać listę uczniów. Możesz użyć jednej zmiennej tablicowej, która ma oddzielne lokalizacje dla kategorii uczniów, np. Przedszkole, szkoła podstawowa, średnia, liceum itp.
  2. Tablice ułatwiają pisanie łatwego w utrzymaniu kodu. Dla tych samych logicznie powiązanych danych umożliwia zdefiniowanie pojedynczej zmiennej zamiast definiowania więcej niż jednej zmiennej.
  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;

  • Statyczne - te typy tablic 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) As String

  • Dynamiczne - te typy tablic nie mają ustalonej, z góry określonej liczby elementów, które można przechowywać. Są one przydatne podczas pracy z obiektami, których liczby nie można z góry określić.

    Na przykład : Dim ArrayMonth () As Variant

Składnia do deklarowania tablic

Tablice statyczne

Składnia deklarowania tablic STATIC jest następująca:

Dim arrayName (n) as datatype

TUTAJ,

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

Tablice dynamiczne

Składnia deklarowania tablic DYNAMICZNYCH jest następująca:

Dim arrayName() as datatypeReDim arrayName(4)

TUTAJ,

Kod Akcja
Dim typ danych arrayName ()
  1. Deklaruje zmienną tablicową o nazwie arrayName bez określania liczby elementów
ReDim nazwa tablicy (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 wiele osób w każdym wieku.
  • Dwa wymiary : w tym wymiarze tablica używa dwóch indeksów. Na przykład wielu uczniów w każdej klasie. Wymaga liczby zajęć i liczby uczniów w każdej klasie
  • Wielowymiarowe : 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 programu Excel danymi ze zmiennej tablicowej. W tym przykładzie VBA Array będziemy robić następujące rzeczy.

  • Utwórz nowy skoroszyt programu Microsoft 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 języka VBA wypełniającego arkusz Excela

Zróbmy to ćwiczenie krok po kroku,

Krok 1 - Utwórz nowy skoroszyt

  1. Otwórz program Microsoft Excel
  2. Zapisz nowy skoroszyt jako VBA Arrays.xlsm

Krok 2 - Dodaj przycisk polecenia

Uwaga: w tej sekcji założono, że znasz proces tworzenia interfejsu w programie Excel. Jeśli nie jesteś zaznajomiony, przeczytaj samouczek VBA Excel Form Control & ActiveX Control. Pokaże ci, jak stworzyć interfejs

  1. Dodaj przycisk polecenia do arkusza
  1. Ustaw właściwość name na cmdLoadBeverages
  2. Ustaw właściwość caption na Load Beverages

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

Krok 3 - Zapisz plik

  1. Kliknij przycisk Zapisz jako
  2. Wybierz skoroszyt programu Excel z włączoną obsługą makr (* .xlsm), jak pokazano na poniższej ilustracji

Krok 4 - Napisz kod

Teraz napiszemy kod dla naszej aplikacji

  1. Kliknij prawym przyciskiem myszy przycisk Załaduj napoje i wybierz wyświetl kod
  2. Dodaj następujący kod do zdarzenia click cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(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,

Kod

Akcja

Dim Drinks (1 do 4) As String

  • 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. Inny podobny kod robi to samo dla innych elementów w tablicy.

Sheet1.Cells (1, 1) .Value = "Moje ulubione napoje."

  • Zapisuje wartość Moje ulubione napoje w adresie komórki A1. Sheet1 odwołuje się do arkusza, a komórki (1,1) odnoszą się do wiersza nr 1 i kolumny 1 (B)

Sheet1.Cells (2, 1) .Value = 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źnik będzie miał białe tło, a nie kolorowe (zielonkawe) tło. (Zobacz zdjęcie poniżej)

Kliknij przycisk Załaduj napoje

Otrzymasz następujące wyniki

Pobierz Excel zawierający powyższy kod

Pobierz powyższy kod programu Excel

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 do deklarowania wielu zmiennych dla danych, które są logicznie powiązane.