Excel VBA nizovi
Općenito bi jedna varijabla trebala sadržavati jednu vrijednost odjednom, ali kada želimo pohraniti više vrijednosti u jednu varijablu tada je takva vrsta varijable poznata kao varijabla niza, da bismo koristili varijablu niza u VBA, trebamo deklarirati ili definirajte ga prvo, možemo definirati varijablu niza s duljinom ili bez duljine.
Pretpostavimo ako imamo podatke koji sadrže stotine redaka i više stupaca i trebamo stvoriti kod koji će podatke koristiti. Sada, u ovom slučaju, moramo stvoriti višestruke varijable koje će dohvatiti vrijednost iz ćelija i predati ih programu. To će biti vrlo zamorno za stvaranje ovolike varijable, pa stoga u takvim slučajevima koristimo Arrays u excelu.

Nizovi drže skup podataka u svojoj memoriji i ne trebaju nam deklarirati varijablu za svaku vrijednost koju treba dohvatiti iz podataka. Potreba za korištenjem nizova je zbog činjenice da je u excel varijabli dizajnirana da sadrži jednu po jednu vrijednost. Međutim, kada varijabla spremi više vrijednosti, ona postaje niz.
- Stvaranje niza je poput stvaranja zasebne memorijske jedinice koja može sadržavati podatke u njemu. Za stvaranje niza podaci moraju biti iste vrste.
- Nizovi koje dajemo Excelu moraju odgovarati vrsti podataka koje imamo. Pretpostavimo da ako imamo podatke koji imaju samo retke, pa ćemo u ovom slučaju upotrijebiti "Jednodimenzionalni niz", a ako podaci sadrže i stupce, tada moramo koristiti "Dvodimenzionalne nizove", jer oni mogu držati samo vrijednosti iz redaka i stupaca.
- Nizovi također moraju funkcionirati da bi funkcionirali kao dinamički nizovi ili statički nizovi. Kako formuli dajemo dinamički raspon, također možemo napraviti varijablu Arrays. Dinamički nizovi imat će funkciju da uključuju beskonačni broj redaka i stupaca. U slučaju da su nizovi koje smo definirali statičnog tipa, tada mogu sadržavati samo ograničeni broj redaka i stupaca kako je definirano u vrijeme stvaranja niza.
Obrazloženje
Niz radi na "Matematičkom pravilu matrice." Odnosno, identificiraju podatke samo prema njihovom mjestu. Pretpostavimo ako moramo objasniti VBA-u da nam treba "20" u ćeliji "B3", tada moramo zapisati kod mjesta kao (3, 2) gdje prva vrijednost znači mjesto retka, a druga vrijednost predstavlja broj stupca. U excel svijetu, ovaj kod lokacija naziva se "Gornja granica" i "Donja granica". Prema zadanim postavkama, mjesto u Excelu započinje s jednog, a ne s nule, pa Excel vidi "A1" kao redak broj 0, a ne kao red broj 1.
Slično tome, stupci počinju od nule, a ne od jedne.

Ti se nizovi mogu definirati kao statički ili dinamički niz. Ako ih definiramo kao statički niz, to znači da tijekom kodiranja ne mogu sadržavati više od varijabli kako su definirane. Ako nismo sigurni u vrijednost koju polja trebaju memorirati, kreiramo dinamičke nizove, a u takvim slučajevima mogu sadržavati beskonačni broj vrijednosti.
Sada, nakon što smo odabrali vrstu polja koja je potrebna, sada ćemo morati unijeti podatke u te nizove.
Ovi podaci moraju se davati jedan po jedan da bi se istaknuli na dolje navedene načine.

Nakon što se podaci pohrane u te nizove, spremni su za upotrebu kao varijabla u VBA kodiranju.
Popis top 5 vrsta nizova
- Statički nizovi
- Dinamički niz
- Jednodimenzionalni niz
- Dvodimenzionalni niz
- Višedimenzionalni niz
Pogledajmo svaku od njih detaljno.
# 1 - Statički nizovi
Niz koji ima unaprijed definirani broj vrijednosti koji se u njemu može pohraniti.

# 2 - Dinamički niz
Polje s nedefiniranim brojem vrijednosti koje može obraditi.
# 3 - Jednodimenzionalni niz
Niz koji može sadržavati samo podatke iz redaka ili stupaca.


# 4 - Dvodimenzionalni niz
Niz koji može pohraniti vrijednost iz redaka i stupaca.


# 5 - Multidimenzionalni niz


Kako koristiti nizove u VBA (s primjerima)?
Nizovi se mogu koristiti u mnogim situacijama, ali moraju se koristiti kada je broj varijabli koje treba deklarirati velik broj, a nije ih moguće deklarirati.
Ispod su neki od primjera, ali prije nego što prijeđemo na primjere, naučit ćemo otvoriti VBA editor pomoću prečaca.

Ovo će otvoriti VBA editor. Odatle moramo unijeti kod u "Ovaj radni list".

Primjer # 1
Odaberite vrstu niza koji želite. Treba li to biti dinamički ili statički niz?
Ako nam treba dinamički niz, tada ćemo dimenziju definirati kao "varijantu".

Ako nam treba statički niz, tada ćemo dimenziju definirati kao "Statičku".

Primjer # 2
Definirajte stupce i retke koje želite da polje pohrani.
Ako smo u zagradu unijeli "1", to znači da niz može sadržavati vrijednost dva reda jer Excel brojanje započinje od nule.

Ako su nam potrebni i stupci i retci, tada ih moramo definirati.
Ovdje "1 do 2" znači da dva reda, a "1 do 3" znači da tri stupca.

Ovdje smo promijenili pravilo kako Excel broji retke i tražili da se računa od "1", a ne od nule.
Primjer # 3
Unos podataka u polje.
Podaci moraju ući u stanice pametno. Ovdje podatke treba unijeti u obliku (I, j) gdje "I" znači redak, a "J" stupac.
Dakle, "a (1,1") znači tu ćeliju "A1".

Primjer # 4
Zatvaramo kod.
Nakon unosa podataka za niz, posljednji korak bit će zatvaranje koda.

Stvari koje treba zapamtiti
- Prema zadanim postavkama Excel će brojati retke počevši od nule. To znači da "2" umjesto "I" znači 3 retka, a ne 2 reda. To se isto odnosi na "J."
- Podaci koji se moraju unijeti za polje moraju se pokrenuti iz (0, 0), odnosno iz prvog retka i prvog stupca.
- U slučaju da koristimo dinamičke nizove, tada će biti potrebna funkcija "VBA REDIM" za definiranje broja redaka i stupaca koji se trebaju memorirati.
- U slučaju stvaranja dvodimenzionalnog niza, tada moramo koristiti "Integer" kao dimenziju.
- Datoteku excel potrebno je spremiti u verziju koja je "kompatibilna s makronaredbama", inače kodiranje koje smo napravili u VBA nestat će i neće se pokrenuti sljedeći put.