VBA stīgu masīvs | Kā deklarēt un inicializēt virkņu masīvu programmā Excel VBA?

Excel VBA virkņu masīvs

VBA virknes masīvs nav nekas cits kā masīva mainīgais, kurā var būt vairāk nekā viena virknes vērtība ar vienu mainīgo.

Piemēru skatiet zemāk redzamajā VBA kodā.

Kods:

 Apakšējā virkne_Array_Piemērs () Dim CityList (1 līdz 5) kā variantu CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa" MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5) End Sub 

Iepriekš minētajā kodā esmu deklarējis kā masīva mainīgo un piešķiris masīva garumu no 1 līdz 5.

 Blāvs CityList (no 1 līdz 5) kā variants 

Šim masīva mainīgajam esmu piešķīris 5 pilsētu nosaukumus, iekavās minot katru masīvu skaitu.

CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa"

Pēc tam es esmu uzrakstījis kodu, lai ziņojuma lodziņā parādītu šos pilsētu nosaukumus.

MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5)

Kad es palaidīšu šo kodu, mēs saņemsim ziņojumu lodziņu, kurā visi pilsētu nosaukumi ir redzami vienā ziņojuma lodziņā.

Mēs visi zinām, ka tas ir ietaupījis tik daudz laika no mūsu grafika, atceļot uzdevumu deklarēt katras pilsētas individuālos mainīgos. Tomēr vēl viena lieta, kas jums jāapgūst, ir tas, ka mēs joprojām varam samazināt rindas kodu, kuru mēs rakstām virknes vērtībām. Apskatīsim, kā mēs rakstām kodu VBA virkņu masīviem.

Stīgu masīva piemēri programmā Excel VBA

Tālāk ir norādīti Excel vba virknes masīva piemēri.

Šo VBA virkņu masīva Excel veidni varat lejupielādēt šeit - VBA virkņu masīva Excel veidne

1. piemērs

Kā mēs redzējām iepriekš minētajā kodā, mēs uzzinājām, ka mainīgajā var saglabāt vairāk nekā vienu vērtību, pamatojoties uz noteikto masīva lielumu.

Tagad tas, kas mums jādara, ir laikus neizlemt masīva garumu.

Kods:

 Sub virkne_Array_Piemērs1 () Dim CityList () kā varianta beigu apakšsadaļa 

Kā redzat iepriekš iekavās, es neesmu rakstījis nevienu garumu. Tagad šim mainīgajam ievietosim vērtības, izmantojot funkciju VBA ARRAY.

Masīva iekšpusē nododiet vērtības pēdiņās, kuras katra atdala ar komatu (,).

Kods:

 Sub String_Array_Example () Dim CityList () kā variants CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") Beigu apakšdaļa 

Tagad saglabājiet veco kodu, lai VBA ziņojumu lodziņā tiktu parādīts pilsētu nosaukumu rezultāts.

Kods:

 Apakšējā virkne_Array_Piemērs1 () Dim CityList () kā variants CityList = Masīvs ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") MsgBox CityList (0) & "," & CityList (1) & " , "& CityList (2) &", "& CityList (3) &", "& CityList (4) End Sub 

Viena izmaiņa, ko esmu izdarījis iepriekš minētajā kodā, ir tā, ka mēs neesam izlēmuši masīva mainīgā apakšējo un augšējo robežu, un mēs esam izmantojuši ARRAY funkciju masīvu skaits sāksies no 0, nevis no 1.

Tāpēc mēs esam minējuši vērtības kā CityList (0), ClityList (1), CityList (2), CityList (3) un CityList (4).

Tagad palaidiet kodu, izmantojot Excel īsinājumtaustiņu F5 vai manuāli, mēs iegūstam tādu pašu rezultātu kā iepriekšējais kods.

2. piemērs

VBA virkņu masīvs ar LBOUND un UBOUND funkcijām

Gadījumā, ja nevēlaties visu pilsētu sarakstu parādīt vienā ziņojuma lodziņā, jums jāiekļauj cilpas, definējiet vēl vienu mainīgo cilpām.

Tagad, lai iekļautu NEXT ciklu, mēs neesam pārliecināti, cik reizes mums ir nepieciešams palaist kodu, šajā gadījumā mēs varam to izlemt kā 5 reizes, bet tas nav pareizais veids, kā risināt problēmu. Tātad, kā par ideju par automātisku zemāka un augstāka līmeņa masīva garuma identifikatoru ???

Atverot NEXT cilpu, mēs parasti izlemjam cikla garumu kā 1 līdz 5 vai 1 līdz 10 atkarībā no situācijas. Tā vietā, lai ciparus ievadītu manuāli, izmantosim funkcijas LBOUND un UBOUND, lai automātiski lemtu par zemāko un augšējo vērtību.

LBound un Ubound esmu piegādājis masīva nosaukumu, ti, CityList. VBA LBound identificē masīva mainīgā zemāko vērtību, bet funkcija VBA UBound - masīva mainīgā lielāko vērtību.

Tagad ziņojuma lodziņā parādiet vērtību, nevis sērijas numura ievietošanu, ļaujiet cilpas mainīgajam “k” automātiski uzņemt masīva vērtību.

Kods:

 Apakšējā virkne_Array_Piemērs1 () Dim CityList () kā variants Dim k As Integer CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") Par k = LBound (CityList) uz UBound (CityList) MsgBox CityList (k) Nākamais k Beigu apakšnodaļa 

Tagad ziņojumu lodziņā katrs pilsētas nosaukums tiks parādīts atsevišķi.

3. piemērs

VBA virkņu masīvs ar sadalīšanas funkciju

Tagad pieņemsim, ka jums ir šādi pilsētu nosaukumi:

Bangalore; Mumbai; Kolkata; Hidrabāda; Orissa

Šajā gadījumā visas pilsētas tiek apvienotas ar kolu, kas atdala katru pilsētu. Šādos gadījumos mums jāizmanto funkcija SPLIT, lai nošķirtu katru pilsētu.

Par vārda piegādāt pilsētas sarakstu.

Kods:

 Sub String_Array_Example2 () Dim CityList () kā virkne Dim k As Integer CityList = Split ("Bangalore; Mumbai; Kolkata; Hydrabad; Orissa", For k = LBound (CityList) Uz UBound (CityList) MsgBox CityList (k) Nākamā k beigas Apakšgrupa 

Nākamais arguments ir “Norobežotājs”, ti, kas ir viens raksturs, kas atdala katru pilsētu no citām pilsētām, šajā gadījumā - “Colon”.

Kods:

 Sub String_Array_Example2 () Dim CityList () kā virkne Dim k As Integer CityList = Split ("Bangalore; Mumbai; Kolkata; Hydrabad; Orissa", ";") Par k = LBound (CityList) Uz UBound (CityList) MsgBox CityList (k ) Nākamais k Beigas Apakš 

Tagad funkcijas SPLIT split split vērtības nosaka arī augstāko masīva garumu.

Atceramās lietas

  • LBOUND un UBOUND ir funkcijas masīva garumu noteikšanai.
  • ARRAY funkcija var saturēt daudzas deklarētā mainīgā vērtības.
  • Vienu reizi, ja vēlaties izmantot funkciju ARRAY, neizlemiet masīva garumu.

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