Rad s nizovima za VBA programiranje u programu Excel 2016

Većina programskih jezika podržava nizove, uključujući VBA. Polje je skupina varijabli koje imaju isti naziv. Na određenu varijablu u nizu upućujete koristeći naziv niza i broj indeksa u zagradama. Na primjer, možete definirati niz od 12 varijabli niza koje će sadržavati nazive mjeseci u godini. Ako nizu date naziv MonthNames , prvi element niza možete pozvati kao MonthNames (1), drugi element kao MonthNames (2) i tako dalje.

Deklariranje nizova

Prije nego što možete koristiti niz, morate ga deklarirati. Bez izuzetaka. Za razliku od normalnih varijabli, VBA je vrlo strog u pogledu ovog pravila. Niz deklarirate s Dim ili Public naredbom, baš kao što deklarirate redovnu varijablu. Međutim, također morate odrediti broj elemenata u nizu. To možete učiniti tako da navedete prvi broj indeksa, ključnu riječ Prima i zadnji broj indeksa — sve unutar zagrada. Sljedeći primjer pokazuje kako deklarirati niz od 100 cijelih brojeva:

Dim MyArray(1 do 100) kao cijeli broj

Kada deklarirate niz, možete odabrati da navedete samo gornji indeks. Ako izostavite donji indeks, VBA pretpostavlja da je 0. Stoga obje sljedeće izjave deklariraju isti niz od 101 elementa:

Dim MyArray (0 do 100) kao cijeli broj
Dim MyArray (100) kao cijeli broj

Ako želite da VBA pretpostavi da je 1 (umjesto 0) donji indeks za vaše nizove, uključite sljedeću izjavu u odjeljak Deklaracije na vrhu vašeg modula:

Opcija baza 1

Ova izjava prisiljava VBA da koristi 1 kao prvi broj indeksa za nizove koji deklariraju samo gornji indeks. Ako je ova izjava prisutna, sljedeće izjave su identične, oba deklariraju niz od 100 elemenata:

Dim MyArray (1 do 100) kao cijeli broj
Dim MyArray (100) kao cijeli broj

Višedimenzionalni nizovi

Nizovi stvoreni u prethodnim primjerima su jednodimenzionalni nizovi. Zamislite jednodimenzionalne nizove kao jednu liniju vrijednosti. Nizovi koje izradite u VBA mogu imati čak 60 dimenzija — iako vam rijetko treba više od dvije ili tri dimenzije u nizu. Sljedeći primjer deklarira niz od 81 cijeli broj s dvije dimenzije:

Dim MyArray (1 do 9, 1 do 9) kao cijeli broj

Možete zamisliti da ovaj niz zauzima matricu 9 x 9 — savršeno za pohranjivanje svih brojeva u Sudoku slagalici.

Da biste upućivali na određeni element u ovom nizu, trebate navesti dva indeksna broja (slično njegovom "retku" i njegovom "stupcu" u matrici). Sljedeći primjer pokazuje kako možete dodijeliti vrijednost elementu u ovom nizu:

MyArray (3, 4) = 125

Ova izjava dodjeljuje vrijednost jednom elementu u nizu. Ako razmišljate o nizu u smislu matrice 9 x 9, ovo dodjeljuje 125 elementu koji se nalazi u trećem retku i četvrtom stupcu matrice.

Evo kako deklarirati trodimenzionalni niz s 1000 elemenata:

Dim My3DArray (1 do 10, 1 do 10, 1 do 10) kao cijeli broj

Možete zamisliti trodimenzionalni niz kao kocku. Teže je vizualizirati niz više od tri dimenzije.

Dinamički nizovi

Također možete stvoriti dinamičke nizove. Dinamički niz nema unaprijed postavljeni broj elemenata. Deklarirajte dinamički niz s praznim skupom zagrada:

Dim MyArray () kao cijeli broj

Prije nego što možete koristiti ovaj niz, morate koristiti ReDim naredbu da kažete VBA-u koliko elemenata niz ima. Obično se broj elemenata u nizu određuje dok se vaš kod izvodi. Naredbu ReDim možete koristiti bilo koji broj puta, mijenjajući veličinu niza onoliko često koliko je potrebno. Sljedeći primjer pokazuje kako promijeniti broj elemenata u dinamičkom nizu. Pretpostavlja da varijabla NumElements sadrži vrijednost koju je izračunao vaš kod.

ReDim MyArray (1 do NumElements)

Kada ponovno dimenzionirate niz pomoću ReDim-a, brišete sve vrijednosti koje su trenutno pohranjene u elementima niza. Možete izbjeći uništavanje starih vrijednosti pomoću ključne riječi Preserve. Sljedeći primjer pokazuje kako možete sačuvati vrijednosti polja kada ponovno dimenzionirate niz:

ReDim Preserve MyArray (1 do NumElements)

Ako MyArray trenutno ima deset elemenata, a vi izvršite prethodni izraz s NumElements jednakim 12, prvih deset elemenata ostaje netaknuto, a niz ima mjesta za dva dodatna elementa (do broja sadržanog u varijabli NumElements). Međutim, ako je NumElements jednak 7, prvih sedam elemenata se zadržava, ali preostala tri elementa nestaju.

Leave a Comment

Kako postaviti upit u bazu podataka MS Access 2019

Kako postaviti upit u bazu podataka MS Access 2019

Naučite kako postaviti upite u Access bazi podataka uz jednostavne korake i savjete za učinkovito filtriranje i sortiranje podataka.

Osnove tabulatora u programu Word 2013

Osnove tabulatora u programu Word 2013

Tabulatori su oznake položaja u odlomku programa Word 2013 koje određuju kamo će se točka umetanja pomaknuti kada pritisnete tipku Tab. Otkrijte kako prilagoditi tabulatore i optimizirati svoj rad u Wordu.

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Word 2010 nudi mnoge načine označavanja i poništavanja odabira teksta. Otkrijte kako koristiti tipkovnicu i miš za odabir blokova. Učinite svoj rad učinkovitijim!

Kako uvući pasus u Wordu 2013

Kako uvući pasus u Wordu 2013

Naučite kako pravilno postaviti uvlaku za odlomak u Wordu 2013 kako biste poboljšali izgled svog dokumenta.

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Naučite kako jednostavno otvoriti i zatvoriti svoje Microsoft PowerPoint 2019 prezentacije s našim detaljnim vodičem. Pronađite korisne savjete i trikove!

Kako crtati jednostavne objekte u PowerPointu 2013

Kako crtati jednostavne objekte u PowerPointu 2013

Saznajte kako crtati jednostavne objekte u PowerPoint 2013 uz ove korisne upute. Uključuje crtanje linija, pravokutnika, krugova i više.

Kako filtrirati podatke u programu Access 2016

Kako filtrirati podatke u programu Access 2016

U ovom vodiču vam pokazujemo kako koristiti alat za filtriranje u programu Access 2016 kako biste lako prikazali zapise koji dijele zajedničke vrijednosti. Saznajte više o filtriranju podataka.

Formule za zaokruživanje brojeva u Excelu

Formule za zaokruživanje brojeva u Excelu

Saznajte kako koristiti Excelove funkcije zaokruživanja za prikaz čistih, okruglih brojeva, što može poboljšati čitljivost vaših izvješća.

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Zaglavlje ili podnožje koje postavite isto je za svaku stranicu u vašem Word 2013 dokumentu. Otkrijte kako koristiti različita zaglavlja za parne i neparne stranice.

Excel izvješća: prilagođeno oblikovanje brojeva

Excel izvješća: prilagođeno oblikovanje brojeva

Poboljšajte čitljivost svojih Excel izvješća koristeći prilagođeno oblikovanje brojeva. U ovom članku naučite kako se to radi i koja su najbolja rješenja.