Excel VBA matrike

Excel VBA Array ni nič drugega kot spremenljivka, ki lahko vsebuje isto vrsto podatkov. Array je skupina spremenljivk, ki lahko shrani več kot eno spremenljivko. Ime spremenljivke bo isto, vendar lahko vsebuje različne vrednosti v eni spremenljivki. Niz VBA je vrsta spremenljivke, ki se uporablja za shranjevanje seznamov podatkov istega tipa.

Če imamo 5 celic, ki vsebujejo številke, moramo razglasiti 5 spremenljivk, da bomo v razponu imeli 5 različnih števil. Toda z uporabo matrike lahko v eni sami spremenljivki zadržujemo 5 različnih vrednosti.

Kako uporabljati Excel VBA matrike?

Poglejmo, kako uporabiti Excel VBA matrike in njihove vrste z nekaj primeri.

Predlogo VBA Arrays Excel lahko prenesete tukaj - VBA Predloga Excel Predloga

Primer # 1

Oglejte si spodnji primer. X je spremenljivka, ki vsebuje vrsto podatkov celega števila.

Koda:

 Sub Array_Example1 () Dim x kot celo število x = 1 Končni pod 

Sedaj dodelite deklarirani spremenljivki x vrednost 1 .

V celico A1 vstavimo vrednost 1.

Koda:

 Pod Array_Example1 () Dim x kot celo število x = 1 obseg ("A1") Vrednost = x 
 Končni pod 

Vrednost x je enaka 1 in v območju, vrednost A1 bo vstavljena kot vrednost x, vrednost x pa 1. Zdaj zaženite kodo s tipko F5 ali ročno, če želite videti rezultate.

V zgornjem primeru ima x samo eno spremenljivko, kar je vse. Če pa želim z eno samo spremenljivko vstaviti 5 zaporednih številk, moram uporabiti spremenljivko vrste matrike, ki lahko v enem imenu spremenljivke vsebuje številne vrednosti spremenljivk.

Primer # 2

Zdaj si oglejte spodnji primer. Ime spremenljivke je x, vrsta podatkov pa LONG. Medtem ko sam razglašam spremenljivko, sem odprl oklepaj in omenil 1 do 5. To pomeni, da bo spremenljivka x vsebovala 5 različnih vrst vrednosti.

Koda:

 Pod Array_Example () Dim x (od 1 do 5) Tako dolgo, i Kot Integer End Sub 

Po tem sem vrednosti dodelil vsaki spremenljivki. X (1) = 20 pomeni, da mora biti prva spremenljivka enaka vrednosti 20. X (2) = 25 pomeni, da je druga spremenljivka enaka vrednosti 25 in tako naprej.

Koda:

 Pod Array_Example () Dim x (1 do 5) Tako dolgo, i kot celo število x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 konec pod 

Kasneje sem razglasil še eno spremenljivko, imenovano "I", to je druga vrsta spremenljivke in ima vrsto podatkov celo število .

V naslednjem koraku sem uporabil zanke FOR za vstavljanje dodeljenih števil v matriko v prvem stolpcu. Vrednost spremenljivke i sem nastavil na 1 in zanki sem naročil, da se izvaja 1 do 5-krat. Ko se zanka prvič izvaja, bo vrednost enaka 1. CELLS (I, 1). Vrednost = x (i) to pomeni, da je prvič i enaka 1, tj. CELLS (1, 1). Vrednost = x (1), v prvem stolpcu prvega stolpca (celica A1) bo vrednost prvega niza ( x (1) ) vrednost, to je 20.

Ko zanka drugič teče, vrednost postane 2, tj. CELLS (2, 1). Vrednost = x (2), v drugi vrstici prvega stolpca (A2) bo vrednost drugega niza ( x (2) ) vrednost torej 25.

Koda:

 Pod Array_Example () Dim x (1 do 5) Tako dolgo, i kot Integer x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Za i = 1 do 5 celic (i, 1) .Value = x (i) Naprej i End Sub 

Tako je, ko se zanke še naprej izvajajo, se vrednosti spreminjajo. Ko bodo zanke tretjič uporabljene vrednosti celice A3 znašale 44, bo vrednost četrte zanke, ki jo izvaja A4, vrednost 78, ko bodo zanke končni čas ali peta vrednost vrednosti celice A5 96.

Po zagonu kode s tipko F5 ali ročno bomo dobili rezultate, kot je prikazano spodaj.

Vrste nizov v Excelu

Nizi imajo v VBA različne vrste. V excelu je na voljo pet vrst nizov.

  • Statični niz
  • Dinamični niz
  • Enodimenzionalni niz
  • Dvodimenzionalni niz
  • Večdimenzionalni niz

Statični niz

V tej vrsti matrike je dolžina matrike vnaprej določena in ostane konstantna.

Koda:

 Pod Static_Example () Dim ArrayType (1 do 3) Kot Integer ArrayType (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 celici (1, 1) .Value = ArrayType (1) Celice (1, 2) .Value = ArrayType (2) Celice (1, 3) .Value = ArrayType (3) Končni pod 

V zgornji kodi je dolžina ArrayType določena vnaprej kot 1 do 3, vrsta podatkov pa Integer.

Po zagonu kode s tipko F5 ali ročno bomo dobili rezultate, kot je prikazano spodaj.

Dinamični niz

Pri tej vrsti matrike dolžina matrike ni vnaprej določena dobro.

Koda:

 Pod Dynamic_Example () Dim ArrayType () kot varianta ReDim ArrayType (3) ArrayType (1) = "Moje ime" ArrayType (2) = "je" ArrayType (3) = "Excel" celice (1, 1) .Value = ArrayType (1) Celice (1, 2) .Value = ArrayType (2) Celice (1, 3) .Value = ArrayType (3) End Sub 

V tej vrsti podatkov o matrikah je Variant in dolžina tukaj ni določena. Po razglasitvi spremenljivke sem s funkcijo ReDim določil dolžino matrike. V ta niz bodo vstavljene vrednosti, kot je ta celica A1 = Moje ime, celica B1 = je, celica C1 = Excel.

Enodimenzionalni niz

V tej vrsti matrike je dolžina določena, vendar v eni dimenziji deluje.

Koda:

 Pod ena_dimenzionalna () Dim OneDimension (1 do 3) kot niz OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 End Sub 

Pokaži te vrednosti v polju VBA Message.

Koda:

 Pod ena_dimenzionalna () Dim OneDimension (1 do 3) kot niz OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) End Sub 

Zaženite to kodo s tipko F5 ali ročno in dobili bomo naslednji rezultat.

Dvodimenzionalni niz

V tej vrsti matrike je dolžina določena v dveh dimenzijah in deluje.

Koda:

 Poddvojna dimenzija () dv.dimenzija dima (1 do 2, 1 do 2) kot dolga dim i kot celoten dim j kot celovita dvodimenzija (1, 2) = 40 dvodimenzionalna (2, 1) = 50 dvorazmerna (1, 1) = 15 dve dimenziji (2, 2) = 10 končnih sub 

Zdaj, da te vrednosti shranite v celice pod kodo.

Koda:

 Poddvojna dimenzija () dv.dimenzija dima (1 do 2, 1 do 2) kot dolga dim i kot celoten dim j kot celovita dvodimenzija (1, 2) = 40 dvodimenzionalna (2, 1) = 50 dvorazmerna (1, 1) = 15 dve dimenziji (2, 2) = 10 Za i = 1 do 2 Za j = 1 do 2 celici (i, j) = Dve dimenziji (i, j) Naprej j Naslednji in konec Sub 

Tako bodo shranjeni podatki, kot so spodaj.

Večdimenzionalni niz

V tej vrsti matrike je dolžina določena, vendar v večdimenzionalni obliki deluje.

Koda:

 Poddimenzionalna () dvodimenzionalna dima (1 do 3, 1 do 2) kot dolga dim i kot celoten dim j kot celovita večdimenzija (1, 1) = 15 večdimenzija (1, 2) = 40 večdimenzija (2, 1) = 50 večdimenzija (2, 2) = 10 MultiDimenzija (3, 1) = 98 MultiDimenzija (3, 2) = 54 

Če najprej pogledate zgornjo kodo, sem matriko razglasil kot 1 do 3 in nato 1 do 2. To pomeni, da najprej pišem matriko lahko uporabim le 1 do 3 številke, v drugem prostoru pa lahko uporabim samo 1 do 2 ne 1 do 3.

Z uporabo zanke lahko v celice vstavimo vrednosti. Za večdimenzionalni niz sem uporabil dve zanki.

Koda:

 Poddimenzionalna () Dimna dvodimenzionalna (1 do 3, 1 do 2) dolga dim i kot cela dim j kot celovita večdimenzija (1, 1) = 15 večdimenzija (1, 2) = 40 večdimenzija (2, 1) = 50 večdimenzija (2, 2) = 10 MultiDimenzija (3, 1) = 98 MultiDimenzija (3, 2) = 54 Za i = 1 do 3 Za j = 1 do 2 celici (i, j) = MultiDimenzija (i, j) Naprej j Naprej in konec Sub 

Po zagonu kode s tipko F5 ali ročno bomo dobili rezultate, kot je prikazano spodaj.

Stvari, ki jih je treba zapomniti

  • Niz šteje vrednosti od nič, ne od 1.
  • Niz (0, 0) pomeni prvi stolpec prve vrstice.
  • To makro datoteko excel je treba shraniti kot delovni zvezek z makro.
  • V primeru dinamičnega niza moramo dodeliti vrednost matrike z uporabo funkcije REDIM v VBA.

Priporočeni članki

To je vodilo za VBA Niz. Tu smo razpravljali o vrstah nizov v VBA in kako uporabljati Excel VBA Arrays skupaj z nekaj praktičnimi primeri in naloženo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. NAJDI Funkcijo v Excelu s primeri
  2. Kaj je funkcija VBA v Excelu?
  3. Vodnik po območju VBA
  4. Kako uporabljati funkcijo VBA VLOOKUP?

Kategorija: