„Excel VBA“ masyvai 5 populiariausių masyvų tipų sąrašas (su pavyzdžiais)
„Excel VBA“ masyvai
Apskritai vienas kintamasis vienu metu turi turėti vieną vertę, bet kai mes norime išsaugoti kelias vertes viename kintamajame, toks kintamasis yra žinomas kaip masyvo kintamasis, norint naudoti masyvo kintamąjį VBA, turime deklaruoti arba apibrėžkite jį pirmiausia, mes galime apibrėžti masyvo kintamąjį su jo ilgiu arba be jo ilgio.
Tarkime, jei turime duomenų, kuriuose yra šimtai eilučių ir keli stulpeliai, ir turime sukurti kodą, kuriame bus naudojami duomenys. Šiuo atveju turime sukurti kintamojo kartotinius, kurie atims vertę iš langelių ir suteiks programai. Tai bus labai varginantis, norint sukurti tokį kintamąjį, todėl tokiais atvejais „Excel“ naudojame masyvus.
Masyvai laiko duomenų rinkinį savo atmintyje ir nereikia, kad deklaruotume kiekvienos vertės, kurią reikia gauti iš duomenų, kintamojo. Masyvų naudojimo priežastis yra tai, kad „Excel“ kintamasis yra skirtas laikyti vienai vertei vienu metu, tačiau, kai kintamasis saugo kelias reikšmes, jis tampa masyvu.
- Masyvo sukūrimas yra tarsi atskiro atminties bloko sukūrimas, kuriame galima laikyti jame esančius duomenis. Norėdami sukurti masyvą, duomenys turi būti to paties tipo.
- Masyvai, kuriuos suteikiame „Excel“, turi atitikti turimų duomenų tipą. Tarkime, jei turime duomenų, turinčių tik eilutes, tokiu atveju šiuo atveju naudosime „Vienmatį masyvą“, o jei duomenyse taip pat yra stulpelių, turime naudoti „Dvimates masyvus“, nes jie gali išlaikyti tik reikšmes iš eilučių ir stulpelių.
- Masyvai taip pat turi veikti kaip dinaminiai arba statiniai. Kai formulei suteikiame dinaminį diapazoną, mes galime padaryti masyvus kintamuosius. Dinaminiai masyvai turės funkciją įtraukti begalinį eilučių ir stulpelių skaičių. Jei mūsų apibrėžti masyvai yra statinio tipo, juose gali būti tik ribotas eilučių ir stulpelių skaičius, kaip apibrėžta masyvo kūrimo metu.
Paaiškinimas
Vykdykite „Matematinės matricos taisyklės“ masyvo darbą, ty jie identifikuoja duomenis tik pagal jo vietą. Tarkime, jei turime priversti VBA suprasti, kad langelyje „B3“ mums reikia „20“, tada vietos kodą turime parašyti taip (3, 2), kur pirmoji reikšmė reiškia eilutės vietą, o antroji - stulpelio numeris. „Excel“ pasaulyje šie vietovių kodai vadinami „viršutine riba“ ir „apatine riba“. Pagal numatytuosius nustatymus „Excel“ vieta prasideda nuo vieno, o ne nuo nulio, todėl „Excel“ mato „A1“ kaip eilutės numerį 0, o ne eilutės numerį 1.
Panašiai stulpeliai prasideda nuo nulio, o ne nuo vieno.
Šiuos masyvus galima apibrėžti kaip statinį ar dinaminį. Jei mes juos apibūdinsime kaip statinį masyvą, tai reiškia, kad koduodami jie negali laikyti daugiau nei apibrėžti kintamieji. Jei nesame tikri dėl vertės, kurią reikia įsiminti masyvams, mes kuriame dinaminius masyvus ir tokiais atvejais jie gali laikyti begalinius verčių skaičius.
Pasirinkę reikalingo masyvo tipą, dabar turėsime įvesti duomenis į šiuos masyvus.
Šie duomenys turi būti pateikiami po vieną, kad būtų galima pasiekti toliau nurodytų būdų.
Kai duomenys bus saugomi šiuose masyvuose, jie bus paruošti naudoti kaip kintamasis VBA kodavime.
5 populiariausių masyvų tipų sąrašas
- Statiniai masyvai
- Dinaminis masyvas
- Vieno matmens masyvas
- Dviejų matmenų masyvas
- Daugialypis masyvas
Pažiūrėkime kiekvieną iš jų išsamiai.
# 1 - statiniai masyvai
Masyvas, kurio iš anksto nustatytą vertės skaičių galima išsaugoti.
# 2 - dinaminis masyvas
Masyvas su iš anksto neapibrėžtu vertės skaičiumi, kurį jis gali apdoroti.
# 3 - Vienmatis masyvas
Masyvas, kuriame gali būti tik duomenys iš eilučių arba stulpelių.
# 4 - Dvimatis masyvas
Masyvas, galintis išsaugoti vertę iš eilučių ir stulpelių.
# 5 - daugialypis masyvas
Kaip naudoti masyvus VBA (su pavyzdžiais)?
Šiuos masyvus „VBA Excel“ šablone galite atsisiųsti čia - masyvai „VBA Excel“ šabloneMasyvai gali būti naudojami daugeliu atvejų, tačiau jie turi būti naudojami, kai deklaruojamų kintamųjų yra daug ir jų deklaruoti neįmanoma.
Toliau pateikiami keli pavyzdžiai, tačiau prieš eidami į pavyzdžius, mes išmoksime atidaryti VBA redaktorių sparčiuoju klavišu
Tai atidarys VBA redaktorių, iš ten mes turime įvesti kodą „Šis darbalapis“.
1 pavyzdys
Pasirinkite norimą masyvo tipą, ar tai turėtų būti dinaminis, ar statinis masyvas?
Jei mums reikia dinaminio masyvo, matmenį apibrėžsime kaip „variantą“.
Jei mums reikia statinio masyvo, matmenį apibrėžsime kaip „statinį“.
2 pavyzdys
Apibrėžkite stulpelius ir eilutes, kurias norite išsaugoti masyve.
Jei skliauste įrašėme „1“, tai reiškia, kad masyvas gali turėti 2 eilučių vertę, nes „Excel“ skaičiavimas prasideda nuo nulio.
Jei mums taip pat reikia stulpelių ir eilučių, turime apibrėžti juos abu.
Čia „nuo 1 iki 2“ reiškia, kad dvi eilutės ir „nuo 1 iki 3“ reiškia, kad trys stulpeliai.
Čia mes pakeitėme taisyklę, kaip „Excel“ skaičiuoja eilutes, ir paprašėme ją skaičiuoti nuo „1“, o ne nuo nulio.
3 pavyzdys
Duomenų įvestis masyve.
Duomenys turi būti protingai įvesti į langelius. Čia duomenys turi būti įvedami (I, j) forma, kur „I“ reiškia eilutę, o „J“ - stulpelį.
Taigi „a (1,1“) reiškia langelį „A1“
4 pavyzdys
Kodo uždarymas.
Įvedus masyvo duomenis, paskutinis žingsnis bus kodo uždarymas.
Ką reikia atsiminti
- Pagal numatytuosius nustatymus „Excel“ eiles skaičiuos nuo nulio. Tai reiškia, kad „2“ vietoje „I“ reikš 3, o ne 2 eiles. Tas pats pasakytina ir apie „J“.
- Duomenys, kuriuos reikia įvesti masyvui, turi būti pradėti nuo (0, 0), ty iš pirmos eilutės ir pirmojo stulpelio.
- Jei mes naudojame dinaminius masyvus, tam reikės „VBA REDIM“ funkcijos, kad būtų galima nustatyti eilučių ir stulpelių, kuriuos reikia įsiminti, skaičių.
- Jei sukuriame dvimatį masyvą, turime naudoti „Integer“ kaip matmenį.
- „Excel“ failą reikia išsaugoti versijoje, kuri yra suderinama su „Macro“, nes kitaip kodavimas, kurį atlikome VBA, išnyks ir nebus paleistas kitą kartą.