IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   

3

Naredbe

3.1.1 IF naredba
3.1.2 SELECT CASE naredba
3.1.3 GoTo naredba
   
3.2

LOOP - Petlje

3.2.1 For-Next petlja
3.2.2 Do While petlja
3.2.3 Do Until petlja
3.3

Niz, String, Function

3.3.1 Nizovi
3.3.2 Stringovi
3.3.3 Rad sa slovima č, ć, š, đ, ž
3.3.4 Like operator
3.3.5 Funkcija Format
3.3.6 Predefinirani Formati za Datum i Vrijeme
3.3.7 Numerički formati
3.3.8 Korisnički Formati za Datum i Vrijeme
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Nizovi, Stringovi, Funkcija format, datum i vrijeme u VBA

Niz, String, Function format u VBA za Excel

Search This Web Site

Adsense sponzor






NIZOVI u VBA - Kontrola toka programa u VBA

Niz predstavlja (brojevni-numerički podaci) grupu elemenata koji imaju isti tip i ime, pri čemu se određenom elementu niza pristupa koristeći ime niza i indeks elementa. Indeks elementa predstavlja redni broj elementa u nizu i navodi se u malim zagradama. Kao kod C programskog jezika, indeks prvog elementa niza je 0. Tako bi elementima niza X, dužine 10, pristupali na slijedeći način:

X(0), X(1), ..., X(9)

Deklariranje nizova u VBA za Excel

Nizovi se deklariraju koristeći ključne riječi Dim ili Public, kao i ostale VBA varijable. Pri deklariranju niza se može promijeniti indeks prvog elementa i to na slijedeći način:

Dim X(1 To 10) As Integer

Prethodnom deklaracijom smo deklarirali niz od 10 cijelih brojeva, pri čemu je indeks prvog elementa 1, a posljednjeg 10. U zagradi se, dakle, navode indeksi prvog i posljednjeg elementa, povezanih riječju To. Ako bi u deklaraciji naveli samo gornji indeks 10, tj.

Dim X(10) As Integer

deklarirali bismo niz od 11 elemenata, jer je podrazumijevano indeks prvog elementa 0.

Navođenjem

Option Base 1

na početku modula, indeks prvog elementa niza će biti 1 u svim procedurama tog modula. Indeks prvog i posljednjeg elementa niza možemo saznati pomoću funkcija LBound(ImeNiza), koja vraća indeks prvog elementa, i UBound(ImeNiza), koja vraća indeks posljednjeg elementa niza.

Višedimenzionalni nizovi u VBA za Excel

Pored prethodno opisanih jednodimenzionalnih nizova, u VBA možemo raditi i sa višedimenzionalnim nizovima. VBA podržava do 60 dimenzija nizova, ali se rijetko kad koristi više od trodimenzionalnih nizova. Najčešći primjer višedimenzionalnih nizova su dvodimenzionalni nizovi ili matrice.

Deklariranje višedimenzionalnih nizova je isto kao i deklariranje jednodimenzionalnih nizova, pri čemu se, za svaku dimenziju, indeks prvog i posljednjeg elementa navode u zagradama. Na primjer, sa

Dim M(1 To 10, 1 To 10) as Integer

deklariramo dvodimenzionalni niz M od 100 elemenata, raspoređenih u 10 vrsta i 10 kolona. Prilikom pristupanja elementima niza M, moramo navesti redni broj vrste i kolone u kojoj se nalazi element. Na primjer, izrazom

M(3,4) = 106

se vrši promjena vrijednosti elementa niza M u presjeku treće vrste i četvrte kolone.



Dinamički nizovi u VBA za Excel

Mana prethodno opisanih nizova je ta da se svaki put mora izvršiti predimenzioniranje nizova prilikom deklariranja, kako bi se smjestili podaci za slučaj najzahtjevnije moguće obrade. Često se deklarira nekoliko puta više memorijskog prostora od stvarno potrebnog.

Neiskorištena zauzeta memorija je nedostupna za smještaj drugih varijabli. Ovaj se problem može riješiti korištenjem dinamičkih nizova.

Dinamički nizovi nemaju unaprijed definiran broj elemenata. Dakle, pri deklariranju dinamičkog niza, ne navodi se indeks posljednjeg elementa u zagradi, tj.

Dim M() As Integer

Međutim, prije prve upotrebe niza u programu, mora se definirati broj elemenata niza, što se radi naredbom ReDim na slijedeći način:

ReDim M(10)

Pomoću naredbe ReDim može se vršiti i promjena broja elemenata niza (redimenzioniranje). Redimenzioniranje niza se u proceduri može vršiti proizvoljan broj puta. Treba voditi račun da se prilikom redimenzioniranja niza gubi vrijednost elemenata. Za očuvanje vrijednosti elemenata niza potrebno je koristiti naredbu Preserve, kao na primjer

ReDim Preserve M(10)

(primjer uz dozvolu prenesen iz materijala sa predavanja prof. S.Đukanović)

Adsense sponzor




Adsense sponzor



Ova web stranica koristi COOKIES - COPYRIGHT - 2011-2017 - IvanC - ic.ims.hr