Excel VBA masīvi: kas ir, kā lietot & Masīvu veidi VBA

Satura rādītājs:

Anonim

Kas ir VBA masīvs?

Masīvs tiek definēts kā atmiņas vieta, kas spēj saglabāt vairāk nekā vienu vērtību. Visām vērtībām jābūt viena veida datiem. Pieņemsim, ka vēlaties saglabāt mainīgo dzērienu sarakstu vienā mainīgajā, lai to izdarītu, varat izmantot VBA masīvu.

Izmantojot masīvu, jūs varat atsaukties uz saistītajām vērtībām ar tādu pašu nosaukumu. Varat izmantot indeksu vai apakšindeksu, lai tos atšķirtu. Atsevišķās vērtības tiek dēvētas par Excel VBA masīva elementiem. Tie ir blakus no 0 indeksa līdz augstākajai indeksa vērtībai.

Šajā apmācībā tiek pieņemts, ka izmantojat Microsoft Excel 2013. gada versiju. Zināšanas joprojām attiecas arī uz citām Microsoft Excel versijām.

Šajā VBA programmēšanas apmācībā jūs uzzināsiet

  • Kādas ir masīvu priekšrocības?
  • Masīvu veidi VBA
  • Kā izmantot masīvu programmā Excel VBA
  • Pārbauda mūsu lietojumprogrammu

Kādas ir masīvu priekšrocības?

Šie ir daži no VBA masīva funkcijas piedāvātajiem ieguvumiem

  1. Grupējiet loģiski saistītos datus kopā - pieņemsim, ka vēlaties saglabāt studentu sarakstu. Varat izmantot vienu masīva mainīgo, kam ir atsevišķas vietas studentu kategorijām, ti, dārza dārzs, pamatskola, vidusskola, vidusskola utt.
  2. Masīvi atvieglo uzturējama koda rakstīšanu. Tiem pašiem loģiski saistītiem datiem tas ļauj definēt vienu mainīgo, nevis definēt vairākus mainīgos.
  3. Labāka veiktspēja - kad masīvs ir definēts, datus var ātrāk izgūt, kārtot un modificēt.

Masīvu veidi VBA

VBA atbalsta divu veidu masīvus, proti;

  • Statisks - šāda veida masīviem ir noteikts iepriekš noteikts skaits elementu, kurus var saglabāt. Nevar mainīt statiskā masīva datu veida lielumu. Tie ir noderīgi, ja vēlaties strādāt ar zināmām vienībām, piemēram, dienu skaitu nedēļā, dzimumu utt.

    Piemēram : Dim ArrayMonth (12) kā virkne

  • Dinamisks - šāda veida masīviem nav fiksēta iepriekš noteikta skaita elementu, kurus var saglabāt. Tie ir noderīgi, strādājot ar entītijām, kuru numuru nevar iepriekš noteikt.

    Piemēram : Dim ArrayMonth () kā variants

Sintakse masīvu deklarēšanai

Statiskie bloki

STATIC masīvu deklarēšanas sintakse ir šāda:

Dim arrayName (n) as datatype

ŠEIT,

Kods Darbība
Dim arrayName (n) datu tips
  1. Tas deklarē masīva mainīgo ar nosaukumu arrayName, kura lielums ir n un datatips. Izmērs attiecas uz elementu skaitu, ko masīvs var saglabāt.

Dinamiskie bloki

DYNAMIC masīvu deklarēšanas sintakse ir šāda:

Dim arrayName() as datatypeReDim arrayName(4)

ŠEIT,

Kods Darbība
Dim arrayName () datu tips
  1. Tas deklarē masīva mainīgo, ko sauc par arrayName, nenorādot elementu skaitu
ReDim arrayName (4)
  1. Tas norāda masīva lielumu pēc masīva definēšanas.

Masīva izmēri

Masīvs var būt viena dimensija, divas dimensijas vai daudzdimensionāls.

  • Viena dimensija : šajā dimensijā masīvs izmanto tikai vienu indeksu. Piemēram, cilvēku skaits katrā vecumā.
  • Divas dimensijas : šajā dimensijā masīvā tiek izmantoti divi indeksi. Piemēram, katras klases skolēnu skaits. Tas prasa klašu skaitu un studentu skaitu katrā klasē
  • Vairāku kategoriju : šajā dimensijā masīvā tiek izmantoti vairāk nekā divi indeksi. Piemēram, temperatūra dienas laikā. (30, 40, 20).

Kā izmantot masīvu programmā Excel VBA

Mēs izveidosim vienkāršu lietojumprogrammu. Šī lietojumprogramma aizpilda Excel lapu ar masīva mainīgā datiem. Šajā VBA masīva piemērā mēs rīkosimies šādi.

  • Izveidojiet jaunu Microsoft Excel darbgrāmatu un saglabājiet to kā Excel makro iespējotu darbgrāmatu (* .xlsm)
  • Pievienojiet darbgrāmatai komandas pogu
  • Iestatiet komandas pogas nosaukumu un parakstu īpašības
  • Programmējot VBA, kas aizpilda Excel lapu

Ļaujiet veikt šo vingrinājumu soli pa solim,

1. solis - izveidojiet jaunu darbgrāmatu

  1. Atveriet programmu Microsoft Excel
  2. Saglabājiet jauno darbgrāmatu kā VBA Arrays.xlsm

2. solis - pievienojiet komandas pogu

Piezīme: Šajā sadaļā tiek pieņemts, ka esat pārzinis saskarnes izveides procesu programmā Excel. Ja neesat pazīstams, izlasiet apmācību VBA Excel Form Control un ActiveX Control. Tas parādīs, kā izveidot saskarni

  1. Pievienojiet komandai pogu komandai
  1. Iestatiet vārda rekvizītu cmdLoadBeverages
  2. Iestatiet paraksta rekvizītu Ielādēt dzērienus

Jūsu GUI tagad jābūt šādam

3. solis - saglabājiet failu

  1. Noklikšķiniet uz pogas Saglabāt kā
  2. Izvēlieties Excel makro iespējoto darbgrāmatu (* .xlsm), kā parādīts zemāk esošajā attēlā

4. solis - uzrakstiet kodu

Tagad mēs uzrakstīsim mūsu lietojumprogrammas kodu

  1. Ar peles labo pogu noklikšķiniet uz pogas Ielādēt dzērienus un atlasiet skata kodu
  2. Pievienojiet cmdLoadBeverages klikšķa notikumam šādu kodu
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

ŠEIT,

Kods

Darbība

Blāvi dzērieni (no 1 līdz 4) kā virkne

  • Tas deklarē masīva mainīgo, ko sauc par dzērieniem. Pirmais masīva indekss ir 1 un pēdējais masīva indekss ir 4.

Dzērieni (1) = "Pepsi"

  • Piešķir vērtību Pepsi pirmajam masīva elementam. Otrs līdzīgais kods dara to pašu citiem masīva elementiem.

Sheet1.Cells (1, 1) .Value = "Mani iecienītākie dzērieni".

  • Šūnas adresē A1 raksta vērtību Mani mīļākie dzērieni. 1. lapa atsaucas uz lapu, bet šūnas (1,1) - uz 1. rindas numuru un 1. sleju (B).

1. lapa. Šūnas (2, 1). Vērtība = Dzērieni (1)

  • Masīva elementa vērtību ar indeksu 1 raksta 1. kolonnas otrajā rindā

Pārbauda mūsu lietojumprogrammu

Atlasiet cilni izstrādātājs un pārliecinieties, vai poga Dizaina režīms ir izslēgta. Indikators ir tāds, ka tam būs balts fons, nevis krāsains (zaļgani) fons. (Skatīt attēlu zemāk)

Noklikšķiniet uz pogas Ielādēt dzērienus

Jūs saņemsiet šādus rezultātus

Lejupielādējiet programmu Excel, kas satur iepriekš minēto kodu

Lejupielādējiet iepriekš minēto Excel kodu

Kopsavilkums

  1. Masīvs ir mainīgais, kas spēj saglabāt vairākas vērtības
  2. Excel VBA atbalsta statiskos un dinamiskos blokus
  3. Masīvi atvieglo uzturējama koda rakstīšanu, salīdzinot ar daudzu mainīgo deklarēšanu datiem, kas ir loģiski saistīti.