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.

$config[zx-auto] not found$config[zx-overlay] not found