Biti VBA programer ponekad može biti neodoljiv. Jedan od načina gledanja na VBA je da je to alat koji vam omogućuje oponašanje naredbi programa Excel. Na primjer, razmotrite ovu VBA izjavu:
Raspon("A1:A12").Naziv = "Nazivi mjeseca"
Izvršavanje ove VBA izjave ima isti učinak kao odabir Formule → Definirani nazivi → Definiraj naziv za prikaz dijaloškog okvira Novo ime, upisivanje Imena mjeseca u okvir Naziv i A1:A12 u okvir Odnosi se na i klikanje U redu.
Kada izvršite VBA naredbu, dijaloški okvir Novo ime se ne pojavljuje. To je gotovo uvijek ono što želite da se dogodi; ne želite da dijaloški okviri trepere po zaslonu dok se vaš makro izvršava.
U nekim slučajevima, međutim, možda ćete htjeti da vaš kod prikazuje jedan od mnogih ugrađenih dijaloških okvira programa Excel i dopustite korisniku da bira u dijaloškom okviru. To možete učiniti korištenjem VBA za izvršavanje naredbe vrpce. Evo primjera koji prikazuje dijaloški okvir Novo ime. Adresa u okviru Refers To predstavlja raspon koji je odabran kada se naredba izvrši.
Prikaz jednog od dijaloških okvira programa Excel pomoću VBA.
Application.CommandBars.ExecuteMso "NameDefine"
Vaš VBA kod ne može dobiti nikakve informacije iz dijaloškog okvira. Na primjer, ako izvršite kod za prikaz dijaloškog okvira Novo ime, vaš kôd ne može dobiti naziv koji je unio korisnik ili raspon koji se imenuje.
ExecuteMso je metoda CommandBars objekta i prihvaća jedan argument: parametar idMso koji predstavlja kontrolu vrpce. Nažalost, ovi parametri nisu navedeni u sustavu pomoći. A budući da vrpca nije postojala zauvijek, kod koji koristi metodu ExecuteMso nije kompatibilan s verzijama prije Excela 2007.
Evo još jednog primjera korištenja metode ExecuteMso. Ova izjava, kada se izvrši, prikazuje karticu Font u dijaloškom okviru Oblikovanje ćelija:
Application.CommandBars.ExecuteMso
"FormatCellsFontDialog"
Ako pokušate prikazati ugrađeni dijaloški okvir u pogrešnom kontekstu, Excel prikazuje poruku o pogrešci. Na primjer, evo izjave koja prikazuje dijaloški okvir Format Number:
Application.CommandBars.ExecuteMso “NumberFormatsDialog”
Ako ovu naredbu izvršite kada nije prikladna (na primjer, odabran je oblik), Excel prikazuje poruku o pogrešci jer je taj dijaloški okvir prikladan samo za ćelije radnog lista.
Excel ima tisuće naredbi. Kako možete pronaći ime onoga koji vam je potreban? Jedan od načina je korištenje kartice Prilagodba vrpce u dijaloškom okviru Mogućnosti programa Excel. Brzi način da dođete do toga je da desnom tipkom miša kliknete bilo koju kontrolu vrpce i odaberete Prilagodi vrpcu iz izbornika prečaca.
Gotovo svaka naredba dostupna u Excelu navedena je na lijevoj ploči. Pronađite naredbu koja vam je potrebna i zadržite pokazivač miša iznad nje i vidjet ćete njezino tajno ime naredbe u opisu alata (to je dio u zagradama).
Korištenje kartice Prilagodba vrpce za identifikaciju naziva naredbe.