30.03.2017 Views

Excel_VBA_manual

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dim x(25) As Integer<br />

Indeksi elemenata polja poĉinju od 0 (donja granica) i kreću se do N–1 (gornja granica), tj. u<br />

ovom sluĉaju do 24. MeĊutim, donja i gornja granicu polja može se i eksplicitno navesti, npr.<br />

Dim x(1 To 25) As Integer<br />

U <strong>VBA</strong> dozvoljena je deklaracija polja do 60 dimenzija. Primjer deklaracije dvodimenzionalnog<br />

polja sa eksplicitno deklariranim granicama:<br />

Dim A (1 To 5, 2 To 10) As Double<br />

Ako se tijekom izvoĊenja programa trebaju mijenjati dimenzije polja, tada se polje deklarira kao<br />

dinamiĉko polje:<br />

Dim Polje()<br />

a alokacija memorijskog prostora za dinamiĉko polje, odnosno promjena dimenzije polja vrši se<br />

ReDim naredbom unutar procedure:<br />

ReDim Polje (5,10)<br />

Pri svakom izvoĊenju ReDim naredbe gube se vrijednosti spremljene u polju. Ako je potrebno pri<br />

promjeni dimenzije polja saĉuvati podatke, koristi se kljuĉna rijeĉ Preserve:<br />

ReDim Preserve Niz(Ubound(Niz)+10)<br />

Kod višedimenzionalnih polja uz korištenje Preserve kljuĉne rijeĉi, smije se mijenjati samo<br />

veliĉina posljednje dimenzije i to njezina gornja granica. Vrijednost gornje granice daje funkcija<br />

Ubound.<br />

Visual Basic za aplikacije sadrži mnoge ugraĊene konstante. Npr. xlWorksheet je konstanta koja<br />

identificira radnu tablicu kao tip lista radne bilježnice. Sve ugraĊene konstante koje se odnose na<br />

<strong>Excel</strong>ove objekte poĉinju s xl, a sve ostale poĉinju sa vb.<br />

Definicija vlastitih konstanti omogućena je korištenjem naredbe Const sljedećeg oblika:<br />

Const IMEKONSTANTE= izraz<br />

Uobiĉajeno je da se imena konstanti pišu velikim slovima, npr.:<br />

Const PI = 3.14159265<br />

Const MAX_BROJ = 100<br />

13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!