Jeśli rozmiar tablicy wzrasta i nie chcesz naprawiać rozmiaru tablicy, możesz użyć Słowo kluczowe ReDim. Excel VBA następnie automatycznie zmienia rozmiar tablicy.
Dodaj kilka liczb do kolumny A.
Umieść przycisk polecenia w arkuszu i dodaj następujące wiersze kodu:
1. Najpierw deklarujemy tablicę o nazwach liczb. Zadeklaruj również dwie zmienne typu Integer. Jeden nazwany rozmiar i jeden nazwany i.
Dim numbers() As Integer, rozmiar As Integer, i As Integer
Uwaga: tablica nie ma jeszcze rozmiaru. liczby, rozmiar i ja są tutaj losowo wybierane, możesz użyć dowolnych nazw. Pamiętaj, aby odwoływać się do tych nazw w pozostałej części kodu.
2. Następnie określamy rozmiar tablicy i zapisujemy go w zmiennej wielkości. W tym celu możesz użyć funkcji arkusza CountA. Dodaj następującą linię kodu:
size = WorksheetFunction.CountA(Worksheets(1).Columns(1))
3. Znamy teraz rozmiar tablicy i możemy ją zmienić. Dodaj następującą linię kodu:
Numery ReDim (rozmiar)
4. Następnie inicjujemy każdy element tablicy. Używamy pętli.
Dla i = 1 do rozmiaru
liczby(i) = Komórki(i, 1)).Wartość
Dalej ja
5. Wyświetlamy ostatni element tablicy za pomocą MsgBox.
Numery MsgBox (rozmiar)
6. Wyjdź z Edytora Visual Basic i kliknij przycisk polecenia na arkuszu.
Wynik:
7. Teraz, aby wyraźnie zobaczyć, dlaczego nazywa się to tablicą dynamiczną, dodaj liczbę do kolumny A.
8. Ponownie kliknij przycisk polecenia.
Wniosek: Excel VBA automatycznie zmienił rozmiar tej tablicy dynamicznej.
9. Kiedy używasz słowa kluczowego ReDim, usuwasz wszelkie istniejące dane aktualnie przechowywane w macierzy. Na przykład dodaj następujące wiersze kodu do wcześniej utworzonego kodu:
Numery ReDim(3)
Numery MsgBox(1)
Wynik:
Tablica jest pusta.
10. Jeśli chcesz zachować dane w istniejącej tablicy podczas zmiany jej rozmiaru, użyj słowa kluczowego Preserve.
ReDim Zachowaj numery(3)
Numery MsgBox(1)
Wynik: