Exceli VBA massiivid
Üldiselt peaks üks muutuja korraga hoidma ühte väärtust, kuid kui me tahame ühte muutujasse salvestada mitu väärtust, siis nimetatakse sellist muutujat massiivi muutujaks, et kasutada VBA-s massiivi muutujat, peame deklareerima või määrake see kõigepealt, saame määratleda massiivi muutuja selle pikkusega või ilma.
Oletame, et kui meil on andmeid, mis sisaldavad sadu ridu ja mitut veergu, ning peame looma koodi, mis neid andmeid kasutab. Nüüd peame sel juhul looma muutuja kordsed, mis toovad lahtritelt väärtuse ja annavad need programmile. Nii suure muutuja loomine on väga väsitav ja seetõttu kasutame sellistel juhtudel massiive excelis.

Massiivid hoiavad andmekogumit mälus ega vaja, et me deklareeriksime muutuja iga väärtuse jaoks, mis tuleb andmetest hankida. Massiivide kasutamise vajadus tuleneb asjaolust, et Exceli muutuja on mõeldud ühe väärtuse hoidmiseks korraga. Kui muutuja salvestab mitu väärtust, muutub see aga massiiviks.
- Massiivi loomine on nagu eraldi mäluüksuse loomine, mis mahutab selles olevad andmed. Massiivi loomiseks peavad andmed olema sama tüüpi.
- Excelisse antud massiivid peavad vastama meie andmetüübile. Oletame, et kui meil on andmeid, millel on ainult ridu, siis kasutame sel juhul „Ühemõõtmelist massiivi” ja kui andmed sisaldavad ka veerge, peame kasutama „Kahemõõtmelisi massiive”, kuna need on võimelised ainult hoidma ridade ja veergude väärtused.
- Massiivid peavad toimima ka dünaamiliste või staatiliste massiividena töötamiseks. Kui anname valemile dünaamilise ulatuse, saame muuta ka massiivid muutujaks. Dünaamilistel massiividel on funktsioon, mis sisaldab lõpmatut arvu ridu ja veerge. Juhul, kui meie määratletud massiivid on staatilist tüüpi, mahutavad nad massiivi loomise ajal ainult piiratud arvu ridu ja veerge.
Selgitus
Massiiv töötab teemal „Maatriksi matemaatiline reegel”. See tähendab, et nad tuvastavad andmed ainult nende asukoha järgi. Oletame, et kui peame VBA-le mõistma, et vajame lahtrisse „B3” 20, siis peame kirjutama asukoha koodi järgmiselt (3, 2), kus esimene väärtus tähistab rea asukohta ja teine väärtus tähistab veeru numbrit. Exceli maailmas nimetatakse neid asukohakoode ülemiseks ja alumiseks piiriks. Vaikimisi algab exceli asukoht ühest, mitte nullist, nii et excel näeb A1-d reana 0, mitte reana 1.
Samamoodi algavad veerud nullist ja mitte ühest.

Neid massiive saab määratleda staatilise või dünaamilise massiivina. Kui defineerime need staatilise massiivina, tähendab see, et kodeerimisel ei saa nad mahutada rohkem kui määratletud muutujad. Kui me pole kindlad väärtuses, mida massiivid peavad meelde jätma, loome dünaamilised massiivid ja sellistel juhtudel võivad need sisaldada lõpmatut arvu väärtusi.
Nüüd, kui oleme valinud vajaliku massiivi tüübi, peame nüüd sisestama andmed nendesse massiividesse.
Need andmed tuleb ükshaaval anda, et allpool toodud viisidel silma paista.

Pärast andmete salvestamist nendesse massiividesse on nad VBA kodeerimisel muutujana kasutamiseks valmis.
Viie kõige suurema massiivitüübi loend
- Staatilised massiivid
- Dünaamiline massiiv
- Ühemõõtmeline massiiv
- Kahemõõtmeline massiiv
- Mitmemõõtmeline massiiv
Vaatame neid kõiki üksikasjalikult.
# 1 - staatilised massiivid
Massiiv, millel on eelnevalt määratletud väärtuste arv, mida saab sellesse salvestada.

# 2 - dünaamiline massiiv
Massiiv on eelnevalt määratlemata väärtuste arvuga, mida see suudab käsitseda.
# 3 - ühemõõtmeline massiiv
Massiiv, mis mahutab ainult andmeid ridadest või veergudest.


# 4 - kahemõõtmeline massiiv
Massiiv, mis võib salvestada väärtuse ridadelt ja veergudelt.


# 5 - mitmemõõtmeline massiiv


Kuidas kasutada massiive VBA-s (koos näidetega)?
Massiive saab kasutada paljudes olukordades, kuid neid tuleb kasutada siis, kui deklareeritavate muutujate arv on suur ja neid pole võimalik deklareerida.
Allpool on mõned näited, kuid enne näidete juurde õppimist õpime VBA-redaktorit avama otseteeklahviga.

See avab VBA redaktori. Sealt peame sisestama koodi jaotisse „See tööleht”.

Näide 1
Valige soovitud massiivi tüüp. Kas see peaks olema dünaamiline või staatiline massiiv?
Kui vajame dünaamilist massiivi, määratleme dimensiooni variandina.

Kui vajame staatilist massiivi, määratleme dimensiooni staatiliseks.

Näide 2
Määrake veerud ja read, mida soovite massiivi salvestada.
Kui oleme sulgusse sisestanud „1”, tähendab see, et massiivi mahub kaks rida, kuna Exceli loendamine algab nullist.

Kui vajame ka veerge ja ridu, siis peame mõlemad määratlema.
Siin tähendab “1 kuni 2” kahte rida ja “1 kuni 3” kolme veergu.

Siin oleme muutnud reeglit, kuidas excel loeb ridu, ja palusime, et see loeks väärtusest “1”, mitte nullist.
Näide # 3
Andmete sisestamine massiivi.
Andmed tuleb lahtritesse sisestada targalt. Siin tuleb andmed sisestada kujul (I, j), kus “I” tähendab rida ja “J” veergu.
Nii et “a (1,1”) tähendab seda lahtrit “A1”.

Näide 4
Me sulgeme koodi.
Pärast massiivi andmete sisestamist on viimane samm koodi sulgemine.

Asjad, mida meeles pidada
- Vaikimisi loendab Excel ridu nullist. See tähendab, et "2" tähe "I" asemel tähendab 3 rida, mitte kahte rida. Sama kehtib ka J. kohta
- Massiivi jaoks sisestatud andmeid tuleb alustada (0, 0), see tähendab esimesest reast ja esimesest veerust.
- Juhul, kui kasutame dünaamilisi massiive, vajab see meelde jätmiseks vajalike ridade ja veergude arvu määratlemiseks funktsiooni "VBA REDIM".
- Kahemõõtmelise massiivi loomise korral peame mõõtmena kasutama „täisarvu”.
- Exceli fail tuleb salvestada versiooni, mis on „makroga ühilduv”, vastasel juhul kaob meie VBA-s tehtud kodeering ja see ei käivitu järgmisel korral.