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
- 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.
- 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.
- 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 |
|
Tablice dynamiczne
Składnia deklarowania tablic DYNAMICZNYCH jest następująca:
Dim arrayName() as datatypeReDim arrayName(4)
TUTAJ,
Kod | Akcja |
Dim typ danych arrayName () |
|
ReDim nazwa tablicy (4) |
|
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
- Otwórz program Microsoft Excel
- 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
- Dodaj przycisk polecenia do arkusza
- Ustaw właściwość name na cmdLoadBeverages
- Ustaw właściwość caption na Load Beverages
Twój GUI powinien teraz wyglądać następująco
Krok 3 - Zapisz plik
- Kliknij przycisk Zapisz jako
- 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
- Kliknij prawym przyciskiem myszy przycisk Załaduj napoje i wybierz wyświetl kod
- 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 |
|
Napoje (1) = „Pepsi” |
|
Sheet1.Cells (1, 1) .Value = "Moje ulubione napoje." |
|
Sheet1.Cells (2, 1) .Value = Napoje (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
- Tablica to zmienna, która może przechowywać więcej niż jedną wartość
- Excel VBA obsługuje tablice statyczne i dynamiczne
- Tablice ułatwiają pisanie łatwego w utrzymaniu kodu w porównaniu do deklarowania wielu zmiennych dla danych, które są logicznie powiązane.