VBA massiivid Excelis - Kuidas töötada massiivi funktsiooniga VBA-s?

Lang L: none (table-of-contents)

VBA-s kasutatakse massiive objektide rühma ühiseks määratlemiseks, VBA-s on üheksa erinevat massiivi funktsiooni ja need on ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT ja UBOUND, kõik need on massiivi sisseehitatud funktsioonid VBA-s annab funktsioon Array meile antud argumendi väärtuse.

Exceli VBA massiivi funktsioon

Massiivfunktsioon on väärtuste kogum ühes muutuvas. Me võime tarnida massiivi alamprogrammidele VBA-s, funktsioonides ja omadustes. VBA massiivid on üks sageli kasutatavatest tehnikatest muutujale mitme väärtuse salvestamiseks.

Exceli VBA massiivi funktsiooni näited

Paljude muutujate deklareerimise ja väärtuste salvestamise asemel saame Exceli VBA massiivi abil väärtuse salvestada ühte muutujasse. Näiteks vaadake allpool toodud näidet

Kood:

Alammassiiv_Ex () Mõõt x täisarvuna Dim y täisarvuna x = 1 y = 2 Vahemik ("A1"). Väärtus = x Vahemik ("A2"). Väärtus = y Lõpp Alam

Ülaltoodud näites olen deklareerinud kaks muutujat nimega x & y. X hoiab väärtusena 1 ja Y väärtusena 2.

Nüüd vaadake Exceli VBA massiivi funktsiooni näidet ühe muutujaga.

Kood:

Alammassiiv_Ex () Mõõt x (1 kuni 2) täisarvu vahemikuna ("A1"). Väärtus = x (1) Vahemik ("A2"). Väärtus = x (2) Lõpp alam

Kui käivitate selle VBA-koodi, on meil lahtrites A1 ja A2 väärtused.

Massiivsed muutujad tagastasid tulemuse nulliks. Selle põhjuseks on asjaolu, et oleme deklareerinud muutujad just kaheks, kuid me pole neile muutujatele määranud ühtegi väärtust. Seega peame neile muutujatele omistama väärtused.

Kood:

Alammassiiv_Ex () Mõõt x (1 kuni 2) täisarvuna x (1) = 10 x (2) = 20 Vahemik ("A1"). Väärtus = x (1) Vahemik ("A2"). Väärtus = x (2) ) Lõpeta alam

Nüüd käivitage kood tulemuste saamiseks.

Enne kui sisestame lahtritele massiivi muutujate väärtused, peame väärtuse määrama nendele deklareeritud massiivi muutujatele, nagu määrasime muutujad x (1) = 10 & x (2) = 20.

Näide # 1 - sisestage seerianumbrid staatilise massiivi abil

Vaatame staatilise massiivi kasutamise näidet seerianumbrite sisestamiseks. See sarnaneb palju eelmisega.

Kood:

Sub StaticArray_Ex () Mõõt x (1 kuni 5) täisarvuna x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Vahemik ("A1"). Väärtus = x (1) Vahemik ("A2"). Väärtus = x (2) Vahemik ("A3"). Väärtus = x (3) Vahemik ("A4"). Väärtus = x (4) Vahemik ("A5" ). Väärtus = x (5) Lõpp alam

Nüüd käivitage see kood seerianumbrite sisestamiseks.

Näide # 2 - sisestage seerianumbrid dünaamilise massiivi abil

Nüüd näeme teist tüüpi massiivi, st dünaamilist massiivi

Kood:

Sub DynamicArray_Ex () Dim x () täisarvuna ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Vahemik ("A1") ). Väärtus = x (1) Vahemik ("A2"). Väärtus = x (2) Vahemik ("A3"). Väärtus = x (3) Vahemik ("A4"). Väärtus = x (4) Vahemik (" A5 "). Väärtus = x (5) Lõpp alam

Seerianumbrite tulemuse saamiseks käivitage see kood nüüd. Saame sama tulemuse kui eelmine.

Kui märkate, et me pole muutuja deklareerimisel massiivi pikkust esitanud, määrasime selle asemel VBA Redimi funktsiooni kasutades VBA massiivi viimase väärtuse. Redim hoiab massiivi viimast edastatavat väärtust.

Näide # 3 - funktsiooni loomine Kuu nimede lisamine massiivi abil

Oleme VBA-s näinud, kuidas massiividega töötada. Nüüd näeme, kuidas massiivi abil Excelis VBA-funktsioon luua. Funktsioon pole midagi muud kui kasutaja määratud funktsioon VBA-s. Lisaks sisseehitatud funktsioonide kasutamisele võimaldab exceli VBA meil luua ka oma funktsioone.

Kood:

Funktsioonide loend_Of_kuud () List_Of_Months = Massiiv ("Jan", "Veeb", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Oktoober", "Nov "," Detsember ") Lõpeta funktsioon

Allpool olev kood loob funktsiooni, mis võib meie Exceli lehele lisada kuid.

Kopeerige ja kleepige allolev kood oma moodulisse.

Nüüd salvestage see kood ja sulgege VBA-redaktor. Pärast VBA-redaktori sulgemist minge töölehele ja tippige äsja loodud valem ning oma töölehel peaksite nägema valemit nimega List_Of_Months .

Avage valem ja vajutage sisestusklahvi. Saame esimese kuu nime, st Jan.

Kui sisestate valemi veel üks kord, saame ikkagi ainult Jan, mitte järgmisel kuul, veebruaril. Nii et kõigepealt valige ühes reas 12 veergu.

Nüüd avage valem lahtris D1.

Kuna oleme valemi loonud massiiviga, peame valemid sulgema ainult massiivvalemina. Nii et hoidke all klahve Ctrl + Tõst + Enter. Meil oleks kõik 12-kuulised nimed.

Asjad, mida meeles pidada

  • Saadaval on veel kaks massiivitüüpi, st kahemõõtmeline ja mitmemõõtmeline massiiv.
  • Massiivid algavad 0-st, mitte 1. Null tähendab esimest rida ja esimest veergu.
  • Massiiv on suur teema. Järgmisele tasemele jõudmiseks peate sellest aru saama.
  • Massiivimuutuja on selline, mis sisaldab palju andmeid iga kord, kui see tõuseb järgmisele tasandile.
  • Redimi kasutatakse massiivi viimase pikkuse salvestamiseks dünaamilises massiivitüübis.

Huvitavad Artiklid...