Excel VBA nizovi

Excel VBA Array nije ništa drugo nego varijabla koja može sadržavati istu vrstu podataka. Niz je varijabla koja može pohraniti više varijabli. Naziv varijable bit će isti, ali može sadržavati različite vrijednosti u jednoj varijabli. VBA polje je vrsta varijable koja se koristi za pohranu popisa podataka iste vrste.

Ako imamo 5 ćelija koje sadrže brojeve, moramo deklarirati 5 varijabli da bismo držali 5 različitih brojeva u rasponu. No, koristeći niz možemo zadržati 5 različitih vrijednosti u samoj jednoj varijabli.

Kako koristiti Excel VBA matrice?

Razjasnimo kako koristiti Excel VBA Niz i njihove vrste s nekim primjerima.

Ovdje možete preuzeti Excel predložak VBA Arrays polja ovdje - VBA Predložak Excel predložaka

Primjer 1

Pogledajte donji primjer. X je varijabla koja sadrži vrstu podataka cijeli broj.

Kodirati:

 Sub Array_Example1 () Dim x Kao Cijeli broj x = 1 Kraj Sub 

Sada dodijelite vrijednosti 1 deklariranoj varijabli x.

Ubacimo vrijednost 1 u ćeliju A1.

Kodirati:

 Pod Array_Example1 () Dim x Kao cijeli broj x = 1 raspon ("A1") Vrijednost = x 
 Kraj Sub 

Vrijednost x jednaka je 1, a u rasponu, A1 vrijednost će biti umetnuta kao vrijednost x, odnosno vrijednost x je 1. Sada pokrenite kod pomoću tipke F5 ili ručno da biste vidjeli rezultate.

U gornjem primjeru, x sadrži samo jednu varijablu. Ali ako želim umetnuti pet uzastopnih brojeva pomoću jedne varijable, moram upotrijebiti varijablu tipa array koja može sadržavati mnoge vrijednosti varijable u jednoj imenu varijable.

Primjer 2

Sada pogledajte donji primjer. Naziv varijable je x, a vrsta podataka je LONG. No, prilikom deklariranja same varijable otvorio sam zagrade i spomenuo 1 do 5. To znači da će varijabla x držati 5 različitih vrsta vrijednosti.

Kodirati:

 Pod Array_Example () Dim x (1 do 5) Kao dugo, i kao Integer End Sub 

Nakon toga dodijelio sam vrijednosti svakoj varijabli. X (1) = 20 znači da prva varijabla treba biti jednaka vrijednosti 20. X (2) = 25 znači da druga varijabla mora biti jednaka vrijednosti 25 i tako dalje.

Kodirati:

 Podračun_Primjer () Dim x (1 do 5) Koliko je dugo, i kao Integer x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Kraj Sub 

Kasnije sam deklarirao još jednu varijablu koja se zove "I", ovo je druga vrsta varijable i sadrži tip podataka cijeli broj .

U sljedećem koraku primijenio sam FOR petlje za umetanje dodijeljenih brojeva u niz u prvom stupcu. Postavio sam vrijednost varijable i na 1 i uputio sam petlju da se pokrene 1 do 5 puta. Kada se petlja pokrene prvi put, vrijednost će biti jednaka 1. CELLS (I, 1). Vrijednost = x (i) to znači da prvi put je jednak 1, tj. CELLS (1, 1). Vrijednost = x (1), u prvom redu prvog stupca (ćelija A1) vrijednost će biti vrijednost prvog polja ( x (1) ), tj. 20.

Kada petlja radi drugi put, vrijednost postaje 2, tj. CELLS (2, 1). Vrijednost = x (2), u drugom redu prvog stupca (A2) vrijednost će biti druga veličina ( x (2) ) odnosno 25.

Kodirati:

 Pod Array_Example () Dim x (1 do 5) Koliko dugo, i kao Integer x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Za i = 1 do 5 ćelija (i, 1) .Value = x (i) Sljedeća i Kraj Sub 

Ovako kada se petlje nastave raditi vrijednosti će se i dalje mijenjati. Kad se petlje pokreću treći put, vrijednost A3 ćelije bit će 44, vrijednost četvrte petlje koja radi petlje A4 vrijednost će biti 78, kada petlje pokreću posljednje vrijeme ili će vrijednost petog puta A5 biti 96.

Nakon pokretanja koda pomoću tipke F5 ili ručno, dobit ćemo rezultate kao što je prikazano u nastavku.

Vrste nizova u Excelu

Nizovi imaju različite vrste u VBA. U excelu je dostupno pet vrsta nizova.

  • Statički niz
  • Dinamički niz
  • Jednodimenzionalni niz
  • Dvodimenzionalni niz
  • Višedimenzionalni niz

Statički niz

U ovoj vrsti polja duljina polja unaprijed je unaprijed određena i ostaje konstantna.

Kodirati:

 Pod Static_Example () Dim ArrayType (1 do 3) Kao Integer ArrayType (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 ćelije (1, 1) .Value = ArrayType (1) ćelije (1, 2) .Value = ArrayType (2) ćelije (1, 3) .Value = ArrayType (3) Krajnji pot 

U gornjem kôdu, duljina ArrayType je određeno unaprijed kao 1 do 3, a vrsta podataka je Integer.

Nakon pokretanja koda pomoću tipke F5 ili ručno, dobit ćemo rezultate kao što je prikazano u nastavku.

Dinamički niz

U ovoj vrsti polja, duljina polja nije unaprijed unaprijed određena.

Kodirati:

 Sub Dynamic_Example () Dim ArrayType () kao varijanta ReDim ArrayType (3) ArrayType (1) = "Moje ime" ArrayType (2) = "je" ArrayType (3) = "Excel" ćelije (1, 1) .Value = ArrayType (1) Stanice (1, 2) .Value = ArrayType (2) Stanice (1, 3) .Value = ArrayType (3) Krajnji pot 

U ovoj vrsti podataka polja je Varijanta i ovdje nije određena duljina. Nakon deklariranja varijable dodijelio sam duljinu polja pomoću funkcije ReDim . U ovaj će niz umetnuti vrijednosti poput ove ćelije A1 = moje ime, ćelija B1 = je, ćelija C1 = Excel.

Jednodimenzionalni niz

U ovoj vrsti polja određuje se duljina, ali u jednoj dimenziji djeluje.

Kodirati:

 Sub One_Dim dimenzija () Dim OneDimension (1 do 3) kao niz OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 End Sub 

Pokažite ove vrijednosti u VBA poruci za poruke.

Kodirati:

 Sub One_Dim dimenzija () Dim OneDimension (1 do 3) kao niz OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) Krajnji sub 

Pokrenite ovaj kôd pomoću tipke F5 ili ručno i dobit ćemo sljedeći rezultat.

Dvodimenzionalni niz

U ovoj vrsti polja duljina se određuje u dvije dimenzije i ona djeluje.

Kodirati:

 Sub dvodimenzionalna () dv.dimenzija dima (1 do 2, 1 do 2) kao dugačak dim i kao cjelovita dima d kao cjelobrojna dvije dimenzije (1, 2) = 40 dvije dimenzije (2, 1) = 50 dvije dimenzije (1, 1) = 15 dvije dimenzije (1, 1) = 15 dvije dimenzije (2, 2) = 10 krajnjih sub 

Sada pohranite ove vrijednosti u ćelije ispod koda.

Kodirati:

 Sub dvodimenzionalna () dv.dimenzija dima (1 do 2, 1 do 2) kao dugačak dim i kao cjelovita dima d kao cjelobrojna dvije dimenzije (1, 2) = 40 dvije dimenzije (2, 1) = 50 dvije dimenzije (1, 1) = 15 dvije dimenzije (1, 1) = 15 dvije dimenzije (2, 2) = 10 Za i = 1 do 2 Za j = 1 do 2 ćelije (i, j) = Dvije dimenzije (i, j) Sljedeće j Sljedeće i Kraj Sub 

Tu će se pohraniti podaci kao u nastavku.

Višedimenzionalni niz

Dužina je u ovom tipu polja određena, ali u višedimenzionalnom djeluje.

Kodirati:

 Sub multi_dimenzionalna () Dim dvodimenzionalna (1 do 3, 1 do 2) kao dugačka dim i kao cjelobrojna dima j kao cjelobrojna multidimenzija (1, 1) = 15 multidimenzija (1, 2) = 40 multidimenzija (2, 1) = 50 multidimenzija (2, 2) = 10 Multidimenzija (3, 1) = 98 Multidimenzija (3, 2) = 54 

Ako prvo pogledate gornji kôd, prvo sam deklarirao matricu kao 1 do 3, a zatim 1 do 2. To znači da prvo kada pišem matricu mogu koristiti samo 1 do 3 broja, ali u drugom razmaku, mogu se koristiti samo 1 do 2 a ne 1 do 3.

Pomoću petlje možemo umetnuti vrijednosti u ćelije. Koristila sam dvije petlje za višedimenzionalni niz.

Kodirati:

 Sub multi_dimenzionalna () Dim dvodimenzionalna (1 do 3, 1 do 2) kao dugačka dim i kao cjelobrojna dima j kao cjelobrojna multidimenzija (1, 1) = 15 multidimenzija (1, 2) = 40 multidimenzija (2, 1) = 50 multidimenzija (2, 2) = 10 MultiDimenzija (3, 1) = 98 MultiDimenzija (3, 2) = 54 Za i = 1 do 3 Za j = 1 do 2 ćelije (i, j) = MultiDimenzija (i, j) Sljedeća j Sljedeće i kraj Sub 

Nakon pokretanja koda pomoću tipke F5 ili ručno, dobit ćemo rezultate kao što je prikazano u nastavku.

Stvari koje treba zapamtiti

  • Niz će računati vrijednosti od nule, a ne od 1.
  • Niz (0, 0) znači prvi stupac prvog reda.
  • Ovu makro datoteku excel treba spremiti kao radnu knjižicu s makronaredbama.
  • U slučaju dinamičkog niza, moramo dodijeliti vrijednost matrice pomoću REDIM funkcije u VBA.

Preporučeni članci

Ovo je vodič za VBA polja. Ovdje smo razgovarali o Vrste nizova u VBA i kako koristiti Excel VBA Arrays zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Pronađi funkciju u Excelu s primjerima
  2. Što je VBA funkcija u Excelu?
  3. Vodič za VBA domet
  4. Kako se koristi VBA VLOOKUP funkcija?

Kategorija: