Varijable igraju veliku ulogu u većini Excel makronaredbi s kojima se susrećete. O varijablama možete razmišljati kao o memorijskim spremnicima koje možete koristiti u svojim procedurama. Postoje različite vrste varijabli, a svaka ima zadatak da drži određenu vrstu podataka.
Slijede neke od uobičajenih vrsta varijabli koje ćete vidjeti:
-
String: Sadrži tekstualne podatke
-
Integer: Sadrži numeričke podatke u rasponu od –32,768 do 32,767
-
Dugi: Sadrži numeričke podatke u rasponu od –2,147,483,648 do 2,147,483,647
-
Double: Sadrži numeričke podatke s pomičnim zarezom
-
Varijanta: Sadrži bilo koju vrstu podataka
-
Boolean: Sadrži binarne podatke koji vraćaju True ili False
-
Objekt: Sadrži objekt iz Excel objektnog modela
Kada kreirate varijablu u makronaredbi, deklarirate varijablu . To činite tako da unesete Dim (kratica za dimenziju), zatim naziv varijable, a zatim tip. Na primjer:
Zatamnite moj tekst kao niz
Zatamnite moj broj kao cijeli broj
Zatamnite MyWorksheet kao radni list
Nakon što izradite svoju varijablu, možete je ispuniti podacima. Evo nekoliko jednostavnih primjera kako možete stvoriti varijablu, a zatim joj dodijeliti vrijednosti:
Zatamnite moj tekst kao niz
MojTekst = Raspon("A1").Vrijednost
Zatamnite moj broj kao cijeli broj
Moj broj = Raspon("B1").Vrijednost * 25
Zatamnite MyObject kao radni list
Postavi MyWorksheet = Sheets("Sheet1")
Vrijednosti koje dodjeljujete svojim varijablama često dolaze iz podataka pohranjenih u vašim ćelijama. Međutim, vrijednosti mogu biti i informacije koje kreirate. Sve ovisi o zadatku. Ovaj pojam će vam postati jasniji dok budete prolazili kroz makronaredbe u ovoj knjizi.
Iako je moguće stvoriti kod koji ne koristi varijable, naići ćete na mnoge primjere VBA koda gdje se koriste varijable . Dva su glavna razloga za to.
Prvo, Excel inherentno ne zna za što se vaši podaci koriste. Ne vidi brojeve, simbole ili slova. Vidi samo podatke. Kada deklarirate varijable s određenim vrstama podataka, pomažete Excelu da zna kako treba rukovati određenim dijelovima podataka kako bi vaše makronaredbe proizvele rezultate koje biste očekivali.
Drugo, varijable pomažu čineći vaš kod učinkovitijim i lakšim za razumijevanje. Na primjer, pretpostavimo da imate broj u ćeliji A1 na koji se više puta pozivate u svojoj makronaredbi. Taj broj možete dohvatiti tako da pokažete na ćeliju A1 svaki put kada vam zatreba:
Podmakro1()
Raspon("B1").Vrijednost = Raspon("A1").Vrijednost * 5
Raspon("C1").Vrijednost = Raspon("A1").Vrijednost * 10
Raspon("D1").Vrijednost = Raspon("A1").Vrijednost * 15
Kraj Sub
Međutim, ova bi makronaredba prisilila Excel da troši cikluse pohranjivanja istog broja u memoriju svaki put kada pokažete na ćeliju A1. Također, ako trebate promijeniti svoju radnu knjigu tako da ciljni broj ne bude u ćeliji A1, već u, recimo, ćeliji A2, trebali biste urediti svoj kod promjenom svih referenci iz A1 u A2.
Bolji način je pohraniti broj u ćeliju A1 samo jednom. Na primjer, možete pohraniti vrijednost u ćeliju A1 u Integer varijablu pod nazivom myValue:
Sub WithVariable()
Zatamnite moju vrijednost kao cijeli broj
mojaVrijednost = Raspon("A1").Vrijednost
Raspon("C3").Vrijednost = mojaVrijednost * 5
Raspon("D5").Vrijednost = mojaVrijednost * 10
Raspon("E7").Vrijednost = mojaVrijednost * 15
Kraj Sub
Ovaj pristup ne samo da poboljšava učinkovitost vašeg koda (osiguravajući da Excel samo jednom pročita broj u ćeliji A1), već također osigurava da morate urediti samo jedan redak ako se dizajn vaše radne knjige promijeni.