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.