VBA Declare Array - Kako prijaviti nize v VBA?

Excel VBA Declare Array

Deklaracija matrike v VBA je zelo podobna deklaraciji spremenljivk, ki jo opravi isti dim stavek ali statični javni ali zasebni stavek, edina razlika pri deklaraciji matrike in deklariranju spremenljivke je, da moramo med deklariranjem matrike zagotoviti velikost polja, ki je zgornja meja polja in spodnja meja polja.

V kodi VBA lahko razglasimo eno samo spremenljivko, ki lahko vsebuje število spremenljivk, namesto da bi deklarirali posamezne spremenljivke. To lahko pomaga zmanjšati število vrstic v kodi.

Matrika je nekakšna spremenljivka, ki lahko vsebuje več kot eno vrednost, za razliko od običajnih spremenljivk, ki lahko vsebujejo samo eno vrednost hkrati. Matrika je napredna različica deklariranja spremenljivk v VBA. Na primer, predstavljajte si situacijo, ko želite spremenljivkam dodeliti 5 imen študentov, v splošni praksi pa za vse pet spremenljivk, ki jim damo posamezna imena študentov, razglasimo pet spremenljivk; spodaj je primer iste kode.

Koda:

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

Namesto deklariranja toliko spremenljivk, kaj pa ideja o deklariranju enega samega spremenljivke, ki lahko vsebuje vsa imena študentov.

Da, to je mogoče z razglasitvijo polja v VBA.

Primeri

Primer # 1

Za prijavo ne potrebujemo posebnega kodiranja VBA. Namesto tega moramo slediti preprostim konceptom.

Najprej zaženite podproces.

Koda:

Sub Array_Example () Konec Sub

Zdaj, kot običajno, spremenljivko razglasite kot niz.

Koda:

Sub Array_Example () Zatemni študenta kot niz na koncu Sub

Ko je spremenljivka razglašena, se prepričajte, koliko vrednosti mora vsebovati. V tem primeru želim shraniti pet imen študentov, zato moramo zdaj popraviti velikost polja, tj. 1 do 5. V oklepajih dodajte isto stvar spremenljivki.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot String End Sub

Zdaj za to eno spremenljivko lahko shranimo 5 imen študentov.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub

Poglejte, koliko vrstic smo zmanjšali z razglasitvijo spremenljivke kot matrike. To je en način. To kodo lahko še vedno skrajšamo tako, da jo zapremo znotraj zank v VBA.

Zdaj za primer, istih pet imen, ki jih imam v celicah delovnega lista

Zdaj želim te številke prikazati v polju za sporočila v VBA; ok, razglasimo še eno spremenljivko za zanke kot celokupni podatkovni tip.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot niz Dim K Kot Integer End Sub

Kot ponavadi sem ohranil spremenljivko polja od 1 do 5 velikosti.

Zdaj odprite zanko FOR NEXT v VBA in ker imamo pet imen, vnesite omejitev od 1 do 5.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot niz Dim K Kot celo število Za K = 1 do 5 Naslednji K End Sub

Če želite spremenljivki polja dodeliti vrednosti, nam ni treba slediti prejšnjemu načinu prikazovanja študenta (1) in študenta (2), kot je ta, za spremenljivke zanke za dobavo številk »k«.

Koda:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Next K End Sub

Za to spremenljivko polja potrebujemo vrednosti iz delovnega lista, tako da uporaba lastnosti CELLS dobi vrednosti iz delovnega lista.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot niz Dim K Kot celo število Za K = 1 do 5 Student (K) = Celice (K, 1). Vrednost Naprej K End Sub

Zdaj skozi polje za sporočila pokažite vrednost spremenljivke polja.

Koda:

Sub Array_Example () Dim Student (1 do 5) Kot niz Dim K Kot celo število Za K = 1 do 5 Student (K) = Celice (K, 1). Vrednost MsgBox Student (K) Next K End Sub

Zdaj zaženite kodo. V polju za sporočilo bomo videli ime. Ponovno pritisnite Ok, da vidite drugo ime. Takole s pritiskom na Ok lahko vidimo vseh pet imen.

Primer # 2 - Dvodimenzionalna polja

Zgoraj smo videli, kako deluje matrika, zdaj bomo videli dimenzijske nize. Dvodimenzionalni nizi se osredotočajo na vrstice in stolpce.

V zgornjem primeru smo določili velikost matrike od 1 do 5; ta se osredotoča na vrstice ali stolpce.

Z uporabo dvodimenzionalnih nizov se lahko osredotočimo na vrstice in stolpce. Za to moramo priložiti dve zanki.

Najprej definirajte spremenljivko, nato pa se bomo pozno odločili o velikosti matrike.

Koda:

Sub Two_Array_Example () Dim Student kot String End Sub

Najprej se odločite za velikost vrstice, nato pa za dolžino stolpca.

Koda:

Sub Two_Array_Example () Dim Student (1 do 5, 1 do 3) kot niz na koncu Sub

Za to sem strukturiral podatke za imena, ocene in status študentov.

Zdaj se vrnite v okno za kodiranje.

Navedite še dve spremenljivki za zanko.

Koda:

Sub Two_Array_Example () Dim Student (1 do 5, 1 to 3) As String Dim K As Integer, J As Integer End Sub

Zdaj priložite zanko, kot je prikazano spodaj.

Koda:

Sub Two_Array_Example () Dim Student (1 to 5, 1 to 3) As String Dim k Kot Integer, J As Integer Za k = 1 To 5 For J = 1 To 3 Worksheets ("Student List"). Izberite Student (k, J) = Celice (k, J). Delovni listi vrednosti ("Kopiraj list"). Izberite Celice (k, J). Vrednost = Študent (k, J) Naprej J Naprej k Konec Sub

To bo storilo tako, da bo kopiralo podatke s lista »Študentski seznam« in jih prilepilo v »Kopiraj list«.

Stvari, ki si jih je treba zapomniti

  • Niz je širok koncept; to je le uvodni del.
  • Za razumevanje deklaracije matrike potrebujete napredne veščine kodiranja.
  • Več kot v svoji kodi uporabljate nizov, bolj se ga boste navadili.

Zanimive Članki...