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. Mes galime tiekti masyvą VBA, funkcijų ir ypatybių subprogramai. 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į

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"). Reikšmė = y Pabaiga Sub

Ankstesniame pavyzdyje aš paskelbiau du kintamuosius, vadinamus x & y. X reikšmę 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 į langelius, turime priskirti vertę tiems deklaruotiems masyvo kintamiesiems, kaip ir priskyrėme kintamuosius x (1) = 10 & 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 deklaruodami kintamąjį mes nepateikėme masyvo ilgio, vietoj to mes paskyrė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“ funkciją „Excel“. Funkcija yra ne kas kita, o vartotojo apibrėžta funkcija VBA. Be integruotų funkcijų naudojimo, „Excel VBA“ leidžia mums susikurti ir savo funkcijas.

Kodas:

Funkcijos List_Of_Months () List_Of_Months = Masyvas ("Jan", "Vas", "Mar", "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ę, o savo darbalapyje turėtumėte pamatyti formulę pavadinimu „ List_Of_Months “.

Atidarykite formulę ir paspauskite Enter. Mes gausime pirmojo mėnesio pavadinimą, ty sausio mėn.

Jei dar kartą įterpsite formulę, vis tiek gausime tik Jan, o ne kitą mėnesį, vasarį. 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 dviejų matmenų masyvas 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. Jūs turite tai suprasti, kad pereitumėte į kitą lygį.
  • Masyvo kintamasis bus tas, kuriame yra daug duomenų kiekvieną kartą, kai jis pereina į kitą lygį.
  • Redim naudojamas paskutiniam masyvo ilgiui laikyti dinaminio masyvo tipu.

Įdomios straipsniai...