VBA masyvai „Excel“ Kaip dirbti su masyvų funkcija VBA?
VBA matricos naudojamos objektų grupei apibrėžti kartu, VBA yra devynios skirtingos masyvo funkcijos ir jos yra ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT ir UBOUND, visos šios yra integruotos masyvo funkcijos. VBA, masyvo funkcija suteikia mums nurodyto argumento vertę.
„Excel VBA“ masyvo funkcija
Masyvo funkcija yra reikšmių rinkinys viename kintamajame. Galime pateikti masyvą į subprogramą vba, Funkcijos ir Ypatybės. VBA masyvai yra vienas iš dažnai naudojamų būdų, kaip išsaugoti daugiau nei vieną reikšmę kintamajame.
„Excel VBA“ masyvo funkcijos pavyzdžiai
Užuot deklaravę daugybę kintamųjų ir išsaugoję reikšmes, galime naudoti „Excel VBA“ masyvą, kad reikšmė būtų išsaugota viename kintamajame. Pavyzdžiui, pažiūrėkite į žemiau pateiktą pavyzdį
Šį „VBA Array Excel“ šabloną galite atsisiųsti čia - „VBA Array Excel“ šablonas
Kodas:
Sub masyvas_Ex () Dim x kaip sveikasis skaičius x y Sveikasis skaičius = = y y = 2 Diapazonas ("A1"). Reikšmė = x Diapazonas ("A2"). Vertė = y Pabaiga Sub
Ankstesniame pavyzdyje aš paskelbiau du kintamuosius, vadinamus x & y. X vertę laiko 1, o Y - 2.
Dabar pažvelkite į „Excel VBA“ masyvo funkcijos pavyzdį su vienu kintamuoju.
Kodas:
Sub masyvas_Ex () Dim x (nuo 1 iki 2) kaip sveikasis skaičius ("A1"). Reikšmė = x (1) Diapazonas ("A2"). Reikšmė = x (2) Pabaiga Sub
Dabar, jei paleisite šį VBA kodą, reikšmes turėsime langeliuose A1 ir A2.
Masyvo kintamieji grąžino rezultatą kaip nulį. Taip yra todėl, kad mes ką tik paskelbėme kintamuosius dviem, bet šiems kintamiesiems nepriskyrėme jokių verčių. Taigi šiems kintamiesiems turime priskirti vertes.
Kodas:
Sub masyvas_Ex () Dim x (nuo 1 iki 2) kaip sveikasis skaičius x (1) = 10 x (2) = 20 Diapazonas ("A1"). Reikšmė = x (1) Diapazonas ("A2"). Reikšmė = x (2) ) Pabaigos sub
Dabar paleiskite kodą, kad gautumėte rezultatų.
Prieš įvesdami masyvo kintamųjų reikšmes į ląsteles, turime priskirti vertę tiems deklaruotiems masyvo kintamiesiems, kaip priskyrėme kintamuosius x (1) = 10 ir x (2) = 20.
1 pavyzdys - įterpkite serijos numerius naudodami statinį masyvą
Pažvelkime į statinio masyvo naudojimo serijos numeriams įterpti pavyzdį. Tai labai panašu į ankstesnį.
Kodas:
Sub StaticArray_Ex () Dim x (1–5) Kaip sveikasis skaičius x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Diapazonas („A1“). Vertė = x (1) Diapazonas ("A2"). Vertė = x (2) Diapazonas ("A3"). Vertė = x (3) Diapazonas ("A4"). Vertė = x (4) Diapazonas ("A5") ). Vertė = x (5) Pabaiga
Dabar paleiskite šį kodą, norėdami įterpti serijos numerius.
2 pavyzdys - įterpkite serijos numerius naudodami dinaminį masyvą
Dabar pamatysime antrojo tipo masyvą, ty dinaminį masyvą
Kodas:
Sub DynamicArray_Ex () Dim x () Kaip sveikasis skaičius ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Diapazonas ("A1") ). Vertė = x (1) Diapazonas ("A2"). Reikšmė = x (2) Diapazonas ("A3"). Reikšmė = x (3) Diapazonas ("A4"). Vertė = x (4) Diapazonas (" A5 "). Reikšmė = x (5) Pabaiga
Dabar paleiskite šį kodą, kad gautumėte serijos numerių rezultatą. Gauname tą patį rezultatą kaip ir ankstesnis.
Jei pastebite, kad mes nepateikėme masyvo ilgio deklaruodami kintamąjį, vietoj to mes priskyrėme paskutinę VBA masyvo vertę naudodami funkciją VBA Redim. Redimas turi paskutinę perduoto masyvo vertę.
3 pavyzdys - sukurkite funkciją Įterpkite mėnesio pavadinimus naudodami masyvą
VBA matėme, kaip dirbti su masyvais. Dabar pamatysime, kaip dirbti su masyvu, norint sukurti „VBA“ funkcijas „Excel“. Funkcija yra ne kas kita, o vartotojo apibrėžta funkcija VBA. „Excel“ VBA leidžia ne tik naudoti integruotas funkcijas, bet ir kurti savo funkcijas.
Kodas:
Funkcijos List_Of_Months () List_Of_Months = Masyvas („Jan“, „Vasaris“, „Kovas“, „Balandis“, „Gegužė“, „Birželis“, „Liepa“, „Rugpjūtis“, „Rugsėjis“, „Spalis“, „Lapkritis“ "," Gruodis ") pabaigos funkcija
Žemiau pateiktas kodas sukurs funkciją, kuri į mūsų „Excel“ lapą gali įterpti mėnesius.
Nukopijuokite ir įklijuokite žemiau esantį kodą į savo modulį.
Dabar išsaugokite šį kodą ir uždarykite VBA redaktorių. Uždarę VBA redaktorių eikite į darbalapį ir įveskite ką tik sukurtą formulę . Savo darbalapyje turėtumėte pamatyti formulę pavadinimu „ List_Of_Months “.
Atidarykite formulę ir paspauskite Enter. Mes gausime pirmojo mėnesio pavadinimą, ty Jan
Jei dar kartą įvesite formulę, vis tiek mes gausime Jan tik ne kitą mėnesį vasario mėnesį. Taigi pirmiausia pasirinkite 12 stulpelių vienoje eilutėje.
Dabar atidarykite formulę D1 langelyje.
Kadangi mes sukūrėme formulę su masyvu, formules turime uždaryti tik kaip masyvo formulę. Taigi palaikykite „ Ctrl“ + „Shift“ + „Enter“. Turėtume visus 12 mėnesių vardus.
Ką reikia atsiminti
- Yra dar du masyvų tipai, ty dvimatis ir daugialypis masyvas.
- Masyvai prasideda nuo 0, o ne nuo 1. Nulis reiškia pirmąją eilutę ir pirmąjį stulpelį.
- Masyvas yra didelė tema, kurią turite suprasti, kad pereitumėte į kitą lygį.
- Masyvo kintamasis bus toks, kuriame yra daug duomenų kiekvieną kartą, kai jis pereina į kitą lygį.
- Redim naudojamas paskutiniam masyvo ilgiui laikyti dinaminio masyvo tipu.