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

Satura rādītājs

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ā lieluma reizinātāji, kas iegūs vērtību no šūnām un nodos tos 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 glabā 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īgais ir paredzēts, lai vienlaikus turētu vienu vērtību. Tomēr, ja 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, tāpēc š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 bezgalīgu rindu un kolonnu 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

Masīvs strādā pie “Matricas matemātiskās kārtulas”. Tas ir, viņi identificē datus tikai pēc to 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ā - vērtība apzīmē kolonnas numuru. Excel pasaulē šo atrašanās vietu kodu sauc par “augšējo robežu” un “apakšējo robežu”. Pēc noklusējuma atrašanās vieta programmā Excel 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 vai dinamisku masīvu. Ja mēs tos definējam kā statisku masīvu, tas nozīmē, ka kodējot tos nevar ievietot vairāk par mainīgajiem, kā noteikts. Ja mēs neesam pārliecināti par vērtību, kas ir jāiegaumē masīviem, mēs izveidojam dinamiskus masīvus, un šādos gadījumos tie var turēt vērtību bezgalības skaitļus.

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 izceltos tālāk norādītajos veidos.

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)?

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. Turpmāk kods jāievada sadaļā “Šī darblapa”.

1. piemērs

Izvēlieties vajadzīgo masīva veidu. Vai tam vajadzētu būt dinamiskam vai statiskam masīvam?

Ja mums ir nepieciešams dinamisks masīvs, tad dimensiju definēsim 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 divu rindu vērtība, jo Excel skaitīšana sākas no nulles.

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

Š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

Mēs aizveram kodu.

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ē.

Interesanti raksti...