Excel VBA Deklaruj tablicę
Deklaracja tablicy w VBA jest bardzo podobna do deklaracji zmiennych wykonywana przez tę samą instrukcję dim lub statyczną instrukcję publiczną lub prywatną, jedyną różnicą w deklarowaniu tablicy i deklarowaniu zmiennej jest to, że deklarując tablicę musimy podać rozmiar tablicy, która jest górną granicą tablicy i dolną granicą tablicy.
W kodzie VBA możemy zadeklarować pojedynczą tablicę zmiennych, która może przechowywać liczbę zmiennych zamiast deklarować pojedyncze zmienne. Może to pomóc w zmniejszeniu liczby wierszy w kodzie.
Tablica jest rodzajem zmiennej, która może przechowywać więcej niż jedną wartość, w przeciwieństwie do zwykłych zmiennych, które mogą przechowywać tylko jedną wartość naraz. Tablica jest zaawansowaną wersją deklarowania zmiennych w VBA. Na przykład, wyobraź sobie sytuację, w której chcesz przypisać 5 nazwisk uczniów do zmiennych, aw ogólnej praktyce deklarujemy pięć zmiennych dla wszystkich pięciu zmiennych, które przypisujemy kolejno poszczególnym uczniom; poniżej znajduje się przykładowy kod tego samego.
Kod:
Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student4 As String Dim Student5 As String End Sub
Zamiast deklarować tak wiele zmiennych, co powiesz na pomysł zadeklarowania pojedynczej tablicy zmiennych, która może zawierać wszystkie nazwiska uczniów.
Tak, jest to możliwe poprzez zadeklarowanie tablicy w VBA.
Przykłady
Przykład 1
Aby zadeklarować, nie potrzebujemy żadnego specjalnego kodowania VBA. Powinniśmy raczej przestrzegać prostych koncepcji.
Najpierw rozpocznij podprocedurę.
Kod:
Sub Array_Example () End Sub
Teraz, jak zwykle, zadeklaruj zmienną jako ciąg.
Kod:
Sub Array_Example () Dim Student As String End Sub
Po zadeklarowaniu zmiennej sprawdź teraz, ile wartości powinna zawierać. W tym przypadku chcę zapisać nazwiska pięciu uczniów, więc teraz musimy ustalić rozmiar tablicy, tj. Od 1 do 5. Podaj to samo do zmiennej w nawiasach.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String End Sub
Teraz dla tej pojedynczej zmiennej możemy zapisać 5 nazwisk uczniów.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = „Anderson” End Sub
Zobacz, ile wierszy zmniejszyliśmy, deklarując zmienną jako tablicę. To jest jeden sposób. Nadal możemy skrócić ten kod, umieszczając go wewnątrz pętli w języku VBA.
Teraz na przykład te same pięć nazw, które mam w komórkach arkusza
Teraz chcę pokazać te liczby w oknie komunikatu w VBA; ok, zadeklarujmy jeszcze jedną zmienną dla pętli jako typ danych Integer.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Dim K As Integer End Sub
Jak zwykle zachowałem zmienną tablicową jako 1 do 5 rozmiarów.
Teraz otwórz pętlę FOR NEXT w VBA, a ponieważ mamy pięć nazw, wprowadź limit od 1 do 5.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Dim K As Integer For K = 1 to 5 Next K End Sub
Aby przypisać wartości do zmiennej tablicowej, nie musimy postępować zgodnie z poprzednim sposobem pokazywania Studenta (1), Studenta (2), jak w przypadku zmiennej „k” pętli podaży pozycji liczb.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Next K End Sub
Dla tej zmiennej tablicowej potrzebujemy wartości z arkusza, więc użycie właściwości CELLS powoduje pobranie wartości z arkusza.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Cells (K, 1) .Value Next K End Sub
Teraz w oknie komunikatu pokaż wartość zmiennej tablicowej.
Kod:
Sub Array_Example () Dim Student (1 do 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Cells (K, 1) .Value MsgBox Student (K) Next K End Sub
Teraz uruchom kod. W oknie komunikatu zobaczymy imię. Ponownie naciśnij Ok, aby zobaczyć drugie imię. W ten sposób naciskając Ok, możemy zobaczyć wszystkie pięć nazw.
Przykład 2 - tablice dwuwymiarowe
We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.
In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.
By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.
First, define the variable then late we will decide about the size of the array.
Code:
Sub Two_Array_Example() Dim Student As String End Sub
First, decide row size then decide the column length.
Code:
Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub
For this, I have structured the data for student names, marks, and grade status.
Now come back to the coding window.
Declare two more variables for a loop.
Code:
Sub Two_Array_Example () Dim Student (1 do 5, 1 do 3) As String Dim K As Integer, J As Integer End Sub
Teraz zamknij pętlę, jak pokazano poniżej.
Kod:
Sub Two_Array_Example () Dim Student (1 to 5, 1 to 3) As String Dim k As Integer, J As Integer For k = 1 to 5 For J = 1 to 3 Worksheets ("Student List"). Wybierz Ucznia (k, J) = Cells (k, J) .Value Worksheets ("Copy Sheet"). Select Cells (k, J) .Value = Student (k, J) Next J Next k End Sub
Spowoduje to skopiowanie danych z arkusza „Lista uczniów” i wklejenie w „Kopiuj arkusz”.
Rzeczy do zapamiętania
- Tablica to rozległa koncepcja; to tylko część wprowadzająca.
- Aby zrozumieć deklarację tablicy, potrzebujesz zaawansowanych umiejętności kodowania.
- Im częściej używasz tablic w kodzie, tym bardziej przyzwyczaisz się do tego.








