VBA deklareeri massiivi - Kuidas deklareerida massiive VBA-s?

Lang L: none (table-of-contents)

Exceli VBA deklareeri massiiv

Massiivi deklareerimine VBA-s on väga sarnane muutujate omaga, seda teeb sama hämar lause või staatiline avalik või privaatne avaldus, massiivi deklareerimisel ja muutuja deklareerimisel on ainus erinevus see, et massiivi deklareerimisel peame andma suuruse massiivi, mis on massiivi ülemine piir ja massiivi alumine piir.

VBA-koodis saame deklareerida ühe muutuja massiivi, mis mahutab muutujate arvu üksikute muutujate deklareerimise asemel. See võib aidata vähendada koodide ridade arvu.

Massiiv on mingi muutuja, mis mahutab rohkem kui ühe väärtuse, erinevalt tavalistest muutujatest, mis mahutavad korraga ainult ühte väärtust. Massiiv on VBA muutujate deklareerimise täiustatud versioon. Kujutage näiteks ette olukorda, kus soovite määrata muutujaile 5 õpilase nime ja üldises praktikas deklareerime viis muutujat kõigi nende viie muutuja jaoks, millele omistame ükshaaval õpilaste nimed; allpool on toodud sama näite kood.

Kood:

Alammassiiv_näide () Hämardav üliõpilane1 stringina Hämar õpilane2 kui string hämar õpilane3 kui string hämar õpilane4 kui string hämar õpilane5 kui stringi lõpp alam

Nii palju muutujate deklareerimise asemel oleks idee deklareerida üks muutujate massiiv, kuhu mahuksid kõik õpilaste nimed.

Jah, see on võimalik massiivi VBA-s deklareerimisega.

Näited

Näide 1

Deklareerimiseks ei pea me tegema mingit erilist VBA-kodeerimist. Pigem peame järgima lihtsaid mõisteid.

Esmalt alustage alamprotseduuri.

Kood:

Alammassiiv_näide () Lõpeta alam

Nüüd, nagu tavaliselt, deklareerige muutuja stringina.

Kood:

Alammassiiv_näide () Hämardab õpilast stringi lõpus Alam

Kui muutuja on deklareeritud, veenduge nüüd, kui palju väärtusi see peaks sisaldama. Sel juhul tahan salvestada viie õpilase nime, nii et nüüd peame fikseerima massiivi suuruse, st 1 kuni 5. Sisestage muutujale sulgudes sama asi.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringi lõpu alamrubriigina

Nüüd saame selle ühe muutuja jaoks salvestada 5 õpilasnime.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringiõpilasena (1) = "John" õpilane (2) = "Peter" õpilane (3) = "Ricky" õpilane (4) = "Michael" õpilane (5) = "Anderson" End Sub

Vaadake, mitu rida oleme vähendanud, deklareerides muutuja massiiviks. See on üks viis seda teha. Saame seda koodi ikkagi lühendada, lisades selle VBA silmusesse.

Nüüd näide, samad viis nime, mis mul on töölehe lahtrites

Nüüd tahan neid numbreid näidata VBA teatekastis; olgu, kuulutame veel ühe muutuja silmuste jaoks täisarvu tüübiks.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringina Dim K täisarvu lõpuna Alam

Nagu tavaliselt, olen säilitanud massiivi muutuja 1 kuni 5 suurust.

Nüüd avage VBA-s silmus FOR NEXT ja kuna meil on viis nime, sisestage limiit 1 kuni 5.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringina Dim K täisarvuna K = 1 kuni 5 Järgmine K lõpp alam

Massiivimuutujale väärtuste määramiseks ei pea me järgima eelmist viisi Student (1), Student (2) näitamiseks numbrite positsiooni pakkumise silmuste muutuja “k”.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringina Dim K täisarvuna K = 1 kuni 5 õpilasele (K) = järgmine K lõpp alam

Selle massiivimuutuja jaoks vajame väärtusi töölehelt, nii et atribuudi CELLS kasutamine saab väärtused töölehelt.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringina Dim K täisarvuna K = 1 kuni 5 õpilasele (K) = lahtrid (K, 1). Väärtus Järgmine K lõpp alam

Nüüd kuvage sõnumikasti kaudu massiivi muutuja väärtus.

Kood:

Alammassiiv_näide () Hämardav õpilane (1 kuni 5) stringina Dim K täisarvuna K = 1 kuni 5 õpilasele (K) = lahtrid (K, 1). Väärtus MsgBox õpilane (K) Järgmine K lõpp alam

Nüüd käivitage kood. Sõnumikastis näeme eesnime. Teise nime nägemiseks vajutage uuesti Ok. Nii vajutades Ok, näeme kõiki viit nime.

Näide # 2 - kahemõõtmelised massiivid

We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.

In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.

By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.

First, define the variable then late we will decide about the size of the array.

Code:

Sub Two_Array_Example() Dim Student As String End Sub

First, decide row size then decide the column length.

Code:

Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub

For this, I have structured the data for student names, marks, and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

Sub Two_Array_Example () Hämardav õpilane (1 kuni 5, 1 kuni 3) stringina Dim K täisarvuna, J täisarvu lõpuna

Nüüd lisage silmus, nagu allpool näidatud.

Kood:

Alamkomplekt_Array_Näide () Hämardav õpilane (1 kuni 5, 1 kuni 3) stringina Dim k täisarvuna, J täisarvuna k = 1 kuni 5 J = 1 kuni 3 töölehena ("õpilaste nimekiri"). Valige õpilane (k, J) = Lahtrid (k, J). Väärtustabelid ("Kopeeri leht"). Valige lahtrid (k, J). Väärtus = Õpilane (k, J) Järgmine J Järgmine k Lõpp alam

Mida see teeb, on see, et see kopeerib andmed lehelt „Õpilaste nimekiri” ja kleebib lehele „Kopeeri leht”.

Asjad, mida meeles pidada

  • Massiiv on lai mõiste; see on lihtsalt sissejuhatav osa.
  • Massiivi deklaratsiooni mõistmiseks vajate arenenud kodeerimisoskusi.
  • Mida rohkem te oma koodis massiive kasutate, seda rohkem te sellega harjute.

Huvitavad Artiklid...