VBA deklariraj niz - Kako prijaviti nizove u VBA?

Excel VBA Declare Array

Deklaracija niza u VBA vrlo je slična onoj kod varijabli koja se vrši istim izrazom dim ili statičnom javnom ili privatnom izjavom, jedina razlika u deklaraciji niza i deklariranju varijable je ta što dok deklariramo niz moramo osigurati veličinu niza koji je gornja granica niza i donja granica niza.

U VBA kodu možemo deklarirati jedan niz varijabli koji može sadržavati broj varijabli umjesto deklariranja pojedinačnih varijabli. To može pomoći u smanjenju broja redaka u kodu.

Niz je vrsta varijable koja može sadržavati više od jedne vrijednosti, za razliku od regularnih varijabli koje istovremeno mogu sadržavati samo jednu vrijednost. Niz je napredna verzija deklariranja varijabli u VBA. Na primjer, zamislite situaciju kada varijablama želite dodijeliti 5 imena učenika, a u općoj praksi deklariramo pet varijabli za svih pet varijabli kojima dodijeljujemo pojedinačna imena učenika jednu po jednu; dolje je primjer istog.

Kodirati:

Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Dim Student4 As String Dim Student5 Kao String End Sub

Umjesto deklariranja toliko varijabli, što kažete na ideju deklariranja jednog niza varijabli koji može sadržavati sva imena učenika.

Da, to je moguće deklariranjem niza u VBA.

Primjeri

Primjer # 1

Da bismo to izjavili, ne trebamo raditi posebno VBA kodiranje. Umjesto toga, moramo slijediti jednostavne koncepte.

Prvo pokrenite potpostupak.

Kodirati:

Sub Array_Example () Kraj Sub

Sada, kao i obično, proglasite varijablu kao niz.

Kodirati:

Sub Array_Example () Priguši učenika kao niz na kraju Sub

Nakon što je varijabla deklarirana, sada provjerite koliko vrijednosti treba sadržavati. U ovom slučaju želim pohraniti imena pet učenika, pa sada moramo popraviti veličinu polja, tj. 1 do 5. Unesite istu stvar u varijablu u zagradama.

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) kao kraj niza Sub

Sada za ovu jednu varijablu možemo pohraniti 5 imena učenika.

Kodirati:

Sub Array_Example () Prigušeni student (1 do 5) Kao student Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" Kraj Sub

Pogledajte koliko smo redaka smanjili deklarirajući varijablu kao niz. Ovo je jedan od načina. Još uvijek možemo skratiti ovaj kôd zatvarajući ga unutar petlji u VBA.

Sada za primjer, istih pet imena koja imam u ćelijama radnog lista.3

Sada želim prikazati ove brojeve u okviru za poruke u VBA; ok, proglasimo još jednu varijablu za petlje tipom podataka Integer.

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) Kao niz Zatamni K Kao cijeli broj Kraj

Kao i obično, zadržao sam varijablu niza od 1 do 5 veličina.

Sada otvorite FOR NEXT petlju u VBA, a budući da imamo pet imena, ograničenje unesite kao 1 do 5.

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) Kao niz Dim K Kao cijeli broj Za K = 1 do 5 Sljedeći K Kraj Sub

Da bismo varijabli polja dodijelili vrijednosti, ne trebamo slijediti prethodni način prikazivanja učenika (1), učenika (2) ovako za varijablu petlje opskrbe položaja "k".

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) Kao niz Dim K Kao cijeli broj Za K = 1 do 5 učenika (K) = Sljedeći K Kraj Sub

Za ovu varijablu niza trebaju nam vrijednosti s radnog lista, pa upotreba svojstva CELLS dobiva vrijednosti s radnog lista.

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) Kao niz Dim K Kao cijelo za K = 1 do 5 učenika (K) = Ćelije (K, 1).

Sada kroz okvir za poruke pokažite vrijednost varijable polja.

Kodirati:

Sub Array_Example () Zatamni učenika (1 do 5) Kao niz Dim K Kao cijelo za K = 1 do 5 učenika (K) = Ćelije (K, 1). Vrijednost MsgBox Student (K) Sljedeći K Kraj Sub

Sada pokrenite kod. U okviru za poruke vidjet ćemo ime. Ponovno pritisnite Ok da biste vidjeli drugo ime. Ovako pritiskom na Ok možemo vidjeti svih pet imena.

Primjer # 2 - Dvodimenzionalni nizovi

Iznad smo vidjeli kako radi niz, sada ćemo vidjeti dimenzionalne nizove. Dvodimenzionalni nizovi koncentriraju se na redove i stupce.

U gornjem primjeru odredili smo veličinu niza od 1 do 5; ovo se koncentrira na retke ili stupce.

Korištenjem dvodimenzionalnih nizova možemo se koncentrirati i na retke i na stupce. Za to moramo priložiti dvije petlje.

Prvo definirajte varijablu, a kasnije ćemo odlučiti o veličini niza.

Kodirati:

Sub Two_Array_Example () Priguši učenika kao kraj niza Sub

Prvo odredite veličinu retka, a zatim duljinu stupca.

Kodirati:

Sub Two_Array_Example () Zatamni učenika (1 do 5, 1 do 3) kao kraj podniza

Zbog toga sam strukturirao podatke za imena, ocjene i status učenika.

Sada se vratite na prozor za kodiranje.

Deklarirajte još dvije varijable za petlju.

Kodirati:

Sub Two_Array_Example () Priguši učenika (1 do 5, 1 do 3) Kao niz Zatamni K Kao cijelo, J kao cijelo Kraj Kraj

Sada priložite petlju, kao što je prikazano dolje.

Kodirati:

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"). Odaberite Student (k, J) = Ćelije (k, J). Radne tablice vrijednosti ("Kopiraj list"). Odaberite Ćelije (k, J). Vrijednost = Student (k, J) Sljedeće J Sljedeće k Završi Sub

Što će ovo učiniti, kopirat će podatke s lista "Popis učenika" i zalijepiti u "Kopiraj list".

Stvari koje treba zapamtiti

  • Niz je širok koncept; ovo je samo uvodni dio.
  • Trebaju vam napredne vještine kodiranja da biste razumjeli deklaraciju niza.
  • Što više koristite nizove u svom kodu, to ćete se više naviknuti.

Zanimljivi članci...