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
- 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.
- 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ą.
- 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 |
|
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 |
|
Nazwa tablicy ReDim(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 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
- Otwarte Microsoft przewyższać
- 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
- Dodaj przycisk polecenia do arkusza
- Ustaw właściwość name na cmdLoadBeverages
- Ustaw właściwość podpisu na Załaduj napoje
Twój GUI powinien teraz wyglądać następująco
Krok 3 – Zapisz plik
- Kliknij przycisk Zapisz jako
- Wybierz Skoroszyt programu Excel z obsługą makr (*.xlsm), jak pokazano na obrazku poniżej
Krok 4 – Napisz kod
Napiszemy teraz kod naszej aplikacji
- Kliknij prawym przyciskiem myszy przycisk Załaduj napoje i wybierz opcję Wyświetl kod
- 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 |
|
Napoje(1) = „Pepsi” |
|
Sheet1.Cells(1, 1).Value = „Moje ulubione napoje”. |
|
Arkusz1.Komórki(2, 1).Wartość = Napoje(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)
Kliknij przycisk Załaduj napoje
Otrzymasz następujące wyniki
Pobierz Excel zawierający powyższy kod
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 z deklarowaniem wielu zmiennych dla danych, które są logicznie powiązane.