„Excel VBA“ masyvai
Apskritai vienas kintamasis vienu metu turi turėti vieną vertę, bet kai mes norime išsaugoti kelias reikšmes viename kintamajame, toks kintamasis yra žinomas kaip masyvo kintamasis. Norėdami 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 atiduos juos programai. Tai bus labai varginantis, norint sukurti tokį kintamojo dydį, todėl tokiais atvejais „Excel“ naudojame „Arrays“.

Masyvai laiko duomenų rinkinį savo atmintyje ir nereikia, kad deklaruotume kiekvienos vertės, kurią reikia gauti iš duomenų, kintamojo. Masyvų naudojimo poreikis yra dėl to, kad „Excel“ kintamasis 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, todėl šiuo atveju naudosime „Vienmatį masyvą“, o jei duomenyse yra ir stulpelių, turime naudoti „Dvimates masyvus“, nes jie gali tik laikyti eilučių ir stulpelių vertės.
- Masyvai taip pat turi veikti, kad veiktų kaip dinaminiai arba statiniai. Pateikdami formulei dinaminį diapazoną, taip pat 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, tada juose gali būti tik ribotas eilučių ir stulpelių skaičius, kaip apibrėžta masyvo kūrimo metu.
Paaiškinimas
Masyvas dirba su „Matricos matricos taisykle“. Tai yra, 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 kaip (3, 2), kur pirmoji reikšmė reiškia eilutės vietą, o antroji - reikšmė reiškia stulpelio numerį. „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 turėti daugiau nei kintamieji, kaip apibrėžta. Jei nesame tikri dėl vertės, kurią reikia įsiminti masyvams, sukuriame dinaminius masyvus, ir tokiais atvejais jose gali būti begalinis 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 išvardytų 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)?
Masyvai gali būti naudojami daugeliu atvejų, tačiau jie turi būti naudojami, kai deklaruojamų kintamųjų skaičius yra didelis 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 atvers VBA redaktorių. Iš ten turime įvesti kodą į „Šis darbalapis“.

1 pavyzdys
Pasirinkite norimo masyvo tipą. Ar tai turėtų būti dinaminis ar statinis masyvas?
Jei mums reikia dinaminio masyvo, tada apibrėžsime aspektą kaip „variantą“.

Jei mums reikia statinio masyvo, tada apibrėžsime aspektą kaip „statinį“.

2 pavyzdys
Apibrėžkite stulpelius ir eilutes, kurias norite išsaugoti masyve.
Jei skliaustelyje įrašėme „1“, tai reiškia, kad masyvas gali turėti dviejų 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, o „nuo 1 iki 3“ reiškia tris stulpelius.

Č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 įvesti (I, j) forma, kur „I“ reiškia eilutę, o „J“ - stulpelį.
Taigi „a (1,1“) reiškia tą langelį „A1“.

4 pavyzdys
Uždarome kodą.
Į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ų.
- Kuriant dvimatį masyvą, tada kaip matmenį turime naudoti „Sveikasis skaičius“.
- „Excel“ failą reikia išsaugoti versijoje, kuri yra „suderinama su makro“, nes kitaip kodavimas, kurį atlikome VBA, išnyks ir nebus paleistas kitą kartą.