„Excel VBA“ masyvai: kas yra, kaip naudoti & Masyvų tipai VBA

Turinys:

Anonim

Kas yra VBA masyvas?

Masyvas apibrėžiamas kaip atminties vieta, galinti išsaugoti daugiau nei vieną vertę. Visos vertės turi būti to paties tipo. Tarkime, kad norite išsaugoti mėgstamų gėrimų sąrašą viename kintamajame, tam galite naudoti VBA masyvą.

Naudodami masyvą, galite nurodyti susijusias reikšmes tuo pačiu pavadinimu. Norėdami juos atskirti, galite naudoti indeksą arba indeksą. Individualios vertės nurodomos kaip „Excel VBA“ masyvo elementai. Jie yra gretimi nuo 0 indekso iki didžiausios indekso vertės.

Šioje pamokoje daroma prielaida, kad naudojate „Microsoft Excel 2013“ versiją. Žinios vis tiek taikomos ir kitoms „Microsoft Excel“ versijoms.

Šioje VBA programavimo pamokoje sužinosite

  • Kokie yra masyvų pranašumai?
  • Masyvų tipai VBA
  • Kaip naudoti masyvą „Excel VBA“
  • Testuojama mūsų programa

Kokie yra masyvų pranašumai?

Toliau pateikiami keli VBA masyvo funkcijos teikiami pranašumai

  1. Grupuokite logiškai susijusius duomenis kartu - tarkime, kad norite išsaugoti studentų sąrašą. Galite naudoti vieną masyvo kintamąjį, kuris turi atskiras mokinių kategorijų vietas, pvz., Sodą, pradinę, vidurinę, vidurinę mokyklą ir kt.
  2. Masyvai leidžia lengvai rašyti prižiūrimą kodą. Tiems patiems logiškai susijusiems duomenims jis leidžia apibrėžti vieną kintamąjį, užuot apibrėžus daugiau nei vieną kintamąjį.
  3. Geresnis našumas - kai bus apibrėžtas masyvas, duomenis bus greičiau nuskaityti, rūšiuoti ir modifikuoti.

Masyvų tipai VBA

VBA palaiko dviejų tipų masyvus, būtent;

  • Statinis - tokio tipo masyvuose yra nustatytas iš anksto nustatytas elementų, kuriuos galima saugoti, skaičius. Negalima pakeisti statinio masyvo duomenų tipo dydžio. Tai naudinga, kai norite dirbti su žinomais subjektais, pvz., Dienų skaičiumi per savaitę, lytimi ir kt.

    Pavyzdžiui : „Dim ArrayMonth“ (12) kaip eilutė

  • Dinaminis - tokio tipo masyvuose nėra fiksuoto iš anksto nustatyto elementų, kuriuos galima saugoti, skaičiaus. Tai naudinga dirbant su objektais, kurių skaičiaus negalite iš anksto nustatyti.

    Pavyzdžiui : „Dim ArrayMonth ()“ kaip variantas

Sintaksė masyvams deklaruoti

Statiniai matricos

STATIC masyvų deklaravimo sintaksė yra tokia:

Dim arrayName (n) as datatype

ČIA

Kodas Veiksmas
„Dim arrayName“ (n) duomenų tipas
  1. Jis deklaruoja masyvo kintamąjį, vadinamą arrayName, kurio dydis yra n ir duomenų tipas. Dydis nurodo elementų, kuriuos masyvas gali išsaugoti, skaičių.

Dinaminiai masyvai

DYNAMIC masyvų deklaravimo sintaksė yra tokia:

Dim arrayName() as datatypeReDim arrayName(4)

ČIA

Kodas Veiksmas
„Dim arrayName“) duomenų tipas
  1. Jis deklaruoja masyvo kintamąjį, vadinamą arrayName, nenurodydamas elementų skaičiaus
„ReDim arrayName“ (4)
  1. Jis nurodo masyvo dydį po to, kai masyvas yra apibrėžtas.

Masyvo matmenys

Masyvas gali būti vienas matmuo, du matmenys arba daugialypis.

  • Vienas aspektas : šiame matmenyje masyvas naudoja tik vieną indeksą. Pavyzdžiui, daugybė kiekvieno amžiaus žmonių.
  • Du matmenys : šiame matmenyje masyvas naudoja du indeksus. Pavyzdžiui, kiekvienos klasės mokinių skaičius. Tam reikalingas klasių skaičius ir kiekvienos klasės mokinių skaičius
  • Keli aspektai : šiame aspekte masyvas naudoja daugiau nei du indeksus. Pavyzdžiui, temperatūra dieną. (30, 40, 20).

Kaip naudoti masyvą „Excel VBA“

Mes sukursime paprastą programą. Ši programa užpildo „Excel“ lapą su masyvo kintamojo duomenimis. Šiame VBA masyvo pavyzdyje mes atliksime šiuos dalykus.

  • Sukurkite naują „Microsoft Excel“ darbaknygę ir išsaugokite ją kaip „Excel Macro“ įgalintą darbaknygę (* .xlsm)
  • Pridėkite komandos mygtuką prie darbaknygės
  • Nustatykite komandos mygtuko pavadinimą ir antraštės ypatybes
  • VBA, užpildančios „Excel“ lapą, programavimas

Leiskite atlikti šį pratimą žingsnis po žingsnio,

1 žingsnis - sukurkite naują darbaknygę

  1. Atidarykite „Microsoft Excel“
  2. Išsaugokite naują darbaknygę kaip VBA Arrays.xlsm

2 žingsnis - pridėkite komandos mygtuką

Pastaba: Šiame skyriuje daroma prielaida, kad esate susipažinę su „Excel“ sąsajos kūrimo procesu. Jei nesate susipažinę, perskaitykite mokymo programą „VBA Excel Form Control“ ir „ActiveX Control“. Tai parodys, kaip sukurti sąsają

  1. Prie lapo pridėkite komandos mygtuką
  1. Nustatykite pavadinimo ypatybę į cmdLoadBeverages
  2. Nustatykite antraštės ypatybę Įkelti gėrimus

Dabar jūsų GUI turėtų būti tokia

3 žingsnis - išsaugokite failą

  1. Spustelėkite mygtuką išsaugoti kaip
  2. Pasirinkite „Excel Macro-Enabled Workbook“ (* .xlsm), kaip parodyta žemiau esančiame paveikslėlyje

4 žingsnis - parašykite kodą

Dabar mes parašysime savo programos kodą

  1. Dešiniuoju pelės mygtuku spustelėkite mygtuką Įkelti gėrimus ir pasirinkite rodinio kodą
  2. Pridėkite šį kodą prie „cmdLoadBeverages“ paspaudimo įvykio
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub

ČIA

Kodas

Veiksmas

Blausūs gėrimai (nuo 1 iki 4) kaip styginiai

  • Jis deklaruoja masyvo kintamąjį, vadinamą Drinks. Pirmasis masyvo indeksas yra 1, o paskutinis masyvo indeksas yra 4.

Gėrimai (1) = "Pepsi"

  • Pirmam masyvo elementui priskiria reikšmę „Pepsi“. Kitas panašus kodas daro tą patį kitiems masyvo elementams.

Sheet1.Cells (1, 1) .Value = "Mano mėgstamiausi gėrimai".

  • Langelio adresu A1 užrašo vertę „Mano mėgstamiausi gėrimai“. „Sheet1“ nurodo lapą, o „Cells“ (1,1) nurodo 1 eilutės numerį ir 1 stulpelį (B)

1. lapas. Ląstelės (2, 1). Vertė = gėrimai (1)

  • Masyvo elemento su indeksu 1 reikšmė užrašoma 1 stulpelio antroje eilutėje

Testuojama mūsų programa

Pasirinkite skirtuką kūrėjas ir įsitikinkite, kad mygtukas Dizaino režimas yra „išjungtas“. Indikatorius yra baltas, o ne spalvotas (žalsvas). (Žr. Paveikslėlį žemiau)

Spustelėkite mygtuką Įkelti gėrimus

Gausite šiuos rezultatus

Atsisiųskite „Excel“, kuriame yra aukščiau pateiktas kodas

Atsisiųskite aukščiau nurodytą „Excel“ kodą

Santrauka

  1. Masyvas yra kintamasis, galintis saugoti daugiau nei vieną reikšmę
  2. „Excel VBA“ palaiko statinius ir dinaminius masyvus
  3. Masyvai leidžia lengvai rašyti prižiūrimą kodą, palyginti su daugybės kintamųjų deklaravimu duomenims, kurie yra logiškai susiję.