VBA Declare Array

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ć wiele 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 iw ogólnej praktyce deklarujemy pięć zmiennych dla wszystkich pięciu zmiennych, które przypisujemy pojedynczo 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 przechowywać wszystkie nazwiska uczniów.

Tak, jest to możliwe poprzez zadeklarowanie tablicy w VBA.

Przykłady

Możesz pobrać ten szablon VBA Declare Array Excel tutaj - VBA Declare Array Excel Template

Przykład 1

Aby zadeklarować, że nie potrzebujemy żadnego specjalnego kodowania VBA, musimy raczej przestrzegać prostych zasad.

Najpierw uruchom 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 upewnij się, ile wartości powinna zawierać. W tym przypadku chcę przechowywać 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ę. Jest to jeden ze sposobów, w jaki 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 rozmiar od 1 do 5.

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 przedstawiania Studenta (1), Studenta (2), tak 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żywając właściwości CELLS pobierz 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 przez okno 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

Widzieliśmy powyżej, jak działa tablica, teraz zajmiemy się tablicami wymiarowymi. Tablice dwuwymiarowe koncentrują się zarówno na wierszach, jak i na kolumnach.

W powyższym przykładzie określiliśmy rozmiar tablicy od 1 do 5, co koncentruje się na wierszach lub kolumnach.

Używając dwuwymiarowych tablic, możemy skoncentrować się zarówno na wierszach, jak i kolumnach. W tym celu musimy zamknąć dwie pętle.

Najpierw zdefiniuj zmienną, a później zdecydujemy o wielkości tablicy.

Kod:

 Sub Two_Array_Example () Dim Student As String End Sub 

Najpierw określ rozmiar wiersza, a następnie określ długość kolumny.

Kod:

 Sub Two_Array_Example () Dim Student (1 do 5, 1 do 3) As String End Sub 

For this, I have structured the data for student name, 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 To 5, 1 To 3) As String Dim K As Integer , J As Integer End Sub 

Now enclose the loop as shown below.

Code:

 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").Select Student(k, J) = Cells(k, J).Value Worksheets("Copy Sheet").Select Cells(k, J).Value = Student(k, J) Next J Next k End Sub 

What this will do is it will copy the data from the “Student List” sheet and paste in “Copy Sheet”.

Things to Remember

  • The array is a vast concept, this is just an introductory part.
  • You need advanced coding skills to understand the array declaration.
  • The more you use arrays in your code the more you will get used to it.