VBA paskelbti masyvą Kaip deklaruoti masyvus VBA?

„Excel VBA“ deklaruokite masyvą

Masyvo deklaravimas VBA yra labai panašus į kintamųjų deklaraciją, tai daroma tuo pačiu blankiu teiginiu arba statiniu viešu ar privačiu pareiškimu, vienintelis masyvo deklaravimo ir kintamojo deklaravimo skirtumas yra tas, kad deklaruodami masyvą turime pateikti dydį masyvo, kuris yra viršutinė masyvo riba, ir apatinė masyvo riba.

VBA kode mes galime deklaruoti vieną kintamųjų masyvą, kuriame telpa kintamųjų skaičius, o ne deklaruoti pavienius kintamuosius. Tai gali padėti sumažinti eilučių skaičių kode.

Masyvas yra tam tikras kintamasis, kuriame gali būti daugiau nei viena reikšmė, skirtingai nuo įprastų kintamųjų, kuriuose vienu metu gali būti tik viena reikšmė. Masyvas yra išplėstinė kintamųjų deklaravimo VBA versija. Pavyzdžiui, įsivaizduokite situaciją, kai norite priskirti 5 studentų vardus kintamiesiems, o bendrojoje praktikoje mes deklaruojame penkis kintamuosius visiems penkiems kintamiesiems, kuriuos mes priskiriame atskiriems studentų vardams po vieną; žemiau yra to paties kodo pavyzdys.

Kodas:

Sub masyvas_pavyzdys () „Dim Student1“ kaip „String Dim“ studentas2 kaip „String Dim“ studentas3, kaip „String Dim“ studentas4, kaip „String Dim“ studentas, 5 kaip eilutės pabaiga Sub

Užuot deklaravus tiek daug kintamųjų, kaip būtų, jei būtų paskelbta vieno kintamojo masyvas, kuriame gali būti visi studentų vardai.

Taip, tai įmanoma deklaruojant masyvą VBA.

Pavyzdžiai

1 pavyzdys

Norėdami deklaruoti, mums nereikia daryti jokio specialaus VBA kodavimo. Veikiau turime vadovautis paprastomis sąvokomis.

Pirmiausia pradėkite antrinę procedūrą.

Kodas:

Antrinis masyvas_pavyzdys () Pabaigos sub

Dabar, kaip įprasta, deklaruokite kintamąjį kaip eilutę.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas kaip eilutė Pabaiga

Kai kintamasis bus deklaruotas, dabar įsitikinkite, kiek reikšmių jis turėtų turėti. Šiuo atveju noriu išsaugoti penkių studentų vardus, todėl dabar turime pataisyti masyvo dydį, ty nuo 1 iki 5. Skliausteliuose pateikite tą patį dalyką kintamajam.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas (nuo 1 iki 5) kaip eilutės pabaigos antrinis

Dabar šiam vieninteliam kintamajam galime išsaugoti 5 studentų vardus.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas (nuo 1 iki 5) kaip styginių studentas (1) = "Jonas" studentas (2) = "Petras" studentas (3) = "Rikingas" studentas (4) = "Maiklas" studentas (5) = „Andersono“ pabaigos sub

Pažiūrėkite, kiek eilučių sumažinome, skelbdami kintamąjį kaip masyvą. Tai yra vienas iš būdų tai padaryti. Mes vis tiek galime sutrumpinti šį kodą, įtraukdami jį į VBA kilpas.

Dabar, pavyzdžiui, tuos pačius penkis vardus, kuriuos turiu darbalapio langeliuose

Dabar noriu šiuos skaičius rodyti VBA pranešimų laukelyje; Gerai, paskelbkime dar vieną kilpų kintamąjį kaip sveikojo duomenų tipą.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas (nuo 1 iki 5) kaip eilutė Dim K kaip sveikoji pabaiga Sub

Kaip įprasta, masyvo kintamąjį išlaikiau nuo 1 iki 5 dydžių.

Dabar atidarykite NEXT kilpą VBA, o kadangi mes turime penkis vardus, įveskite ribą nuo 1 iki 5.

Kodas:

Antrinis masyvas_pavyzdys () Neryškus studentas (nuo 1 iki 5) kaip eilutė Dim K kaip sveikoji K = 1 iki 5 Kitas K pabaigos antrinis

Norėdami priskirti reikšmes masyvo kintamajam, neturime vadovautis tokiu ankstesniu būdu kaip „Student“ (1), „Student“ (2) rodyti skaičių padėties tiekimo kilpų kintamojo „k“.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas (nuo 1 iki 5) kaip eilutė Dim K kaip sveikoji K = 1–5 Studentas (K) = Kitas K pabaigos antrinis

Šiam masyvo kintamajam mums reikalingos vertės iš darbalapio, todėl naudojant ypatybę CELLS vertės gaunamos iš darbalapio.

Kodas:

Sub masyvas_pavyzdys () Blankus studentas (nuo 1 iki 5) kaip eilutė Dim K kaip sveikasis skaičius K = 1–5 Studentui (K) = ląstelės (K, 1). Vertė Kitas K pabaiga Sub

Dabar per pranešimų laukelį parodykite masyvo kintamojo vertę.

Kodas:

Antrinis masyvas_pavyzdys () „Dim“ studentas (nuo 1 iki 5) kaip eilutė „Dim K“ kaip „K“ sveikojo skaičiaus reikšmė K = 1–5 studentams (K) = ląstelės (K, 1). Vertė „MsgBox“ studentas (K) Kitas K pabaigos sub

Dabar paleiskite kodą. Pranešimų laukelyje pamatysime vardą. Dar kartą paspauskite Gerai, kad pamatytumėte antrą vardą. Taip paspausdami Gerai, galime pamatyti visus penkis vardus.

2 pavyzdys - dviejų matmenų masyvai

Mes matėme aukščiau, kaip masyvas veikia, dabar matysime matmenų masyvus. Dviejų matmenų masyvai koncentruojasi ir į eilutes, ir į stulpelius.

Ankstesniame pavyzdyje nustatėme masyvo dydį nuo 1 iki 5; tai sutelkia dėmesį į eilutes arba stulpelius.

Naudodami dvimačius masyvus, galime sutelkti dėmesį tiek į eilutes, tiek į stulpelius. Tam turime uždaryti dvi kilpas.

Pirmiausia apibrėžkite kintamąjį, tada vėlai nuspręsime dėl masyvo dydžio.

Kodas:

Antrasis antrasis_pasaulis_pavyzdys () Uždenkite studentą kaip eilutės pabaigą

Pirmiausia nuspręskite eilutės dydį, tada nustatykite stulpelio ilgį.

Kodas:

Antrasis antrasis_diskretas_pavyzdys () „Dim“ studentas (nuo 1 iki 5, nuo 1 iki 3) kaip eilutės pabaiga

Tam susisteminau studentų vardų, pažymių ir pažymio statuso duomenis.

Dabar grįžkite į kodavimo langą.

Paskelbkite dar du kilpos kintamuosius.

Kodas:

Antrasis antrasis_masyvas_pavyzdys () „Dim“ studentas (nuo 1 iki 5, nuo 1 iki 3) kaip eilutė „Dim K“ kaip sveikasis skaičius, „J“ kaip sveikasis skaičius „Sub“

Dabar uždėkite kilpą, kaip parodyta žemiau.

Kodas:

Antrasis antrasis_masyvas_pavyzdys () Uždenkite mokinį (nuo 1 iki 5, nuo 1 iki 3) kaip eilutę Dim k kaip sveikąjį skaičių, J kaip sveikąjį skaičių, kai k = 1–5, jei J = 1–3 darbalapius („Studentų sąrašas“). Pasirinkite studentą (k, J) = Ląstelės (k, J). Vertinkite darbalapius („Kopijuoti lapą“). Pasirinkite langelius (k, J). Vertė = Studentas (k, J) Kitas J Kitas k Pabaiga Sub

Tai padarys tai, kad nukopijuos duomenis iš „Studentų sąrašo“ lapo ir įklijuos į „Copy Sheet“.

Ką reikia atsiminti

  • Masyvas yra didžiulė sąvoka; tai tik įžanginė dalis.
  • Jums reikia pažangių kodavimo įgūdžių, kad suprastumėte masyvo deklaraciją.
  • Kuo daugiau kode naudosite masyvų, tuo labiau prie jo priprasite.

Įdomios straipsniai...