Excel VBA masīvi | Top 5 masīvu veidi (ar piemēriem)

Excel VBA masīvi

Parasti vienam mainīgajam ir jāietver viena vērtība vienlaikus, bet, kad mēs gribam vienā mainīgajā saglabāt vairākas vērtības, tad šāds mainīgais ir pazīstams kā masīva mainīgais, lai VBA izmantotu masīva mainīgo, mums ir jādeklarē vai definējiet to vispirms, mēs varam definēt masīva mainīgo ar tā garumu vai bez tā.

Pieņemsim, ja mums ir dati, kas satur simtiem rindu un vairākas kolonnas, un mums ir jāizveido kods, kas izmantos datus. Tagad šajā gadījumā mums ir jāizveido mainīgā daudzkārtņi, kas iegūs vērtību no šūnām un piešķirs programmai. Tas būs ļoti nogurdinoši, lai izveidotu tik lielu mainīgo lielumu, tāpēc šādos gadījumos mēs izmantojam masīvus programmā Excel.

Masīvi saglabā datu kopu atmiņā, un mums nav nepieciešams deklarēt mainīgo katrai vērtībai, kas jāiegūst no datiem. Vajadzība izmantot masīvus ir saistīta ar faktu, ka Excel mainīgajā ir paredzēts turēt vienu vērtību vienlaikus, tomēr, kad mainīgais saglabā vairākas vērtības, tas kļūst par masīvu.

  • Masīva izveide ir tāda pati kā atsevišķas atmiņas vienības izveide, kas tajā varētu turēt datus. Lai izveidotu masīvu, datiem jābūt tāda paša veida.
  • Masīviem, kurus mēs piešķiram Excel, jāatbilst mūsu rīcībā esošo datu tipam. Pieņemsim, ka, ja mums ir dati, kuriem ir tikai rindas, šajā gadījumā mēs izmantosim “Viendimensiju masīvu” un, ja datos ir arī kolonnas, mums jāizmanto “Divdimensiju masīvi”, jo tie spēj turēt tikai vērtības no rindām un kolonnām.
  • Masīviem ir jādarbojas arī, lai darbotos kā dinamiski bloki vai statiski bloki. Piešķirot formulai dinamisko diapazonu, mēs varam arī padarīt masīvus mainīgus. Dinamiskajiem masīviem būs funkcija iekļaut rindu un kolonnu bezgalīgu skaitu. Gadījumā, ja mūsu definētie masīvi ir statiska tipa, tad tajos var būt tikai ierobežots rindu un kolonnu skaits, kā noteikts masīva izveides laikā.

Paskaidrojums

Darbs pie matricas matemātiskā noteikuma ir tas, ka tie identificē datus tikai pēc tā atrašanās vietas. Pieņemsim, ka, ja mums VBA jāsaprot, ka šūnā “B3” mums vajag “20”, tad vietas kods ir jāraksta kā (3, 2), kur pirmā vērtība apzīmē rindas atrašanās vietu, bet otrā - kolonnas numurs. Excel pasaulē šo atrašanās vietu kodu sauc par “augšējo robežu” un “apakšējo robežu”. Pēc noklusējuma excel atrašanās vieta sākas ar vienu, nevis no nulles, tāpēc Excel redz “A1” kā rindas numuru 0, nevis 1. rindu.

Līdzīgi kolonnas sākas no nulles, nevis no vienas.

Šos masīvus var definēt kā statisku masīvu vai dinamisku masīvu. Ja mēs tos definējam kā statisku masīvu, tas nozīmē, ka tie nevar saturēt vairāk nekā definētie mainīgie, kamēr tos kodē. Ja mēs neesam pārliecināti par vērtību, kas jāiegaumē masīviem, mēs izveidojam dinamiskos masīvus, un šādos gadījumos tie var saturēt bezgalīgu vērtību skaitu.

Pēc tam, kad būsim izvēlējušies nepieciešamo masīva veidu, mums tagad būs jāievada dati šajos masīvos.

Šie dati jāsniedz pa vienam, lai sasniegtu zemāk minētos veidus.

Pēc tam, kad dati ir saglabāti šajos masīvos, tie ir gatavi izmantot kā mainīgo VBA kodēšanā.

Top 5 masīvu veidu saraksts

  1. Statiskie masīvi
  2. Dinamiskā masīva
  3. Viena dimensijas masīvs
  4. Divdimensiju masīvs
  5. Daudzdimensionāls masīvs

Apskatīsim katru no tiem detalizēti.

# 1 - Statiskie masīvi

Masīvs, kuram ir iepriekš noteikts vērtību skaits, ko tajā var saglabāt.

# 2 - dinamisks masīvs

Masīvs ar iepriekš nenoteiktu vērtību skaitu, ko tas var apstrādāt.

# 3 - viendimensiju masīvs

Masīvs, kas satur tikai datus no rindām vai kolonnām.

# 4 - divdimensiju masīvs

Masīvs, kas var saglabāt vērtību no rindām un kolonnām.

# 5 - daudzdimensionāls masīvs

Kā izmantot masīvus VBA (ar piemēriem)?

Šos masīvus VBA Excel veidnē varat lejupielādēt šeit - masīvi VBA Excel veidnē

Masīvus var izmantot daudzās situācijās, taču tie ir jāizmanto, ja deklarējamo mainīgo skaits ir liels un tos nav iespējams deklarēt.

Tālāk ir sniegti daži piemēri, bet pirms došanās uz piemēriem mēs iemācīsimies atvērt VBA redaktoru ar īsinājumtaustiņu

Tādējādi tiks atvērts VBA redaktors, no kura kods jāievada sadaļā “Šī darblapa”.

1. piemērs

Izvēlieties vajadzīgo masīva veidu, vai tam jābūt dinamiskam vai statiskam masīvam?

Ja mums ir nepieciešams dinamisks masīvs, mēs definēsim dimensiju kā “variantu”.

Ja mums ir nepieciešams statisks masīvs, tad dimensiju definēsim kā “Statisku”.

2. piemērs

Definējiet kolonnas un rindas, kuras vēlaties saglabāt masīvā.

Ja iekavās esam ierakstījuši “1”, tas nozīmē, ka masīvā var būt 2 rindu vērtība, jo Excel skaitīšana sākas no nulles.

Ja mums ir vajadzīgas arī kolonnas un rindas, mums jādefinē abas.

Šeit “1 līdz 2” nozīmē, ka divas rindas un “1 līdz 3” nozīmē trīs kolonnas.

Šeit mēs esam mainījuši likumu par to, kā Excel skaita rindas, un lūdzām skaitīt no “1”, nevis no nulles.

3. piemērs

Datu ievadīšana masīvā.

Dati šūnās jāievada gudri. Šeit dati jāievada formā (I, j), kur “I” nozīmē rindu un “J” nozīmē kolonnu.

Tātad “a (1,1”) nozīmē šo šūnu “A1”

4. piemērs

Koda aizvēršana.

Pēc masīva datu ievadīšanas pēdējais solis būs koda aizvēršana.

Atceramās lietas

  • Pēc noklusējuma Excel skaitīs rindas, sākot no nulles. Tas nozīmē, ka “2” “I” vietā nozīmē 3, nevis 2 rindas. Tas pats attiecas uz “J”.
  • Dati, kas jāievada masīvam, jāsāk no (0, 0), kas ir no pirmās rindas un pirmās kolonnas.
  • Gadījumā, ja mēs izmantojam dinamiskos masīvus, tam būs nepieciešama funkcija “VBA REDIM”, lai noteiktu iegaumējamo rindu un kolonnu skaitu.
  • Divdimensiju masīva izveidošanas gadījumā mums kā dimensija jāizmanto “Integer”.
  • Excel fails ir jāsaglabā versijā, kas ir “saderīga ar makro”, pretējā gadījumā kodēšana, ko esam veikuši VBA, pazudīs un nedarbosies nākamajā reizē.

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