Uređivač Visual Basic - Kako ga otvoriti i koristiti u Excelu

Prvi korak u radu s VBA -om u Excelu je upoznavanje s Visual Basic Editor -om (koji se naziva i VBA Editor ili VB Editor).

U ovom ću vodiču pokriti sve što trebate znati o VBA Editoru i neke korisne opcije koje biste trebali znati prilikom kodiranja u Excelu VBA.

Što je Visual Basic Editor u Excelu?

Visual Basic Editor zasebna je aplikacija koja je dio programa Excel i otvara se svaki put kada otvorite radnu knjigu programa Excel. Prema zadanim postavkama skriveno je i da biste mu pristupili, morate ga aktivirati.

VB Editor je mjesto gdje čuvate VB kôd.

Postoji više načina na koji možete dobiti kôd u VB Editoru:

  1. Kad snimite makronaredbu, ona automatski stvara novi modul u VB Editoru i ubacuje kôd u taj modul.
  2. VB kod možete ručno upisati u VB uređivaču.
  3. Kôd možete kopirati iz neke druge radne knjige ili s interneta i zalijepiti ga u VB Editor.

Otvaranje VB uređivača

Postoje različiti načini otvaranja uređivača Visual Basic u programu Excel:

  1. Korištenje tipkovnog prečaca (najjednostavnije i najbrže)
  2. Korištenje kartice Developer.
  3. Korištenje kartica radnog lista.

Idemo brzo kroz svaki od ovih.

Tipkovni prečac za otvaranje uređivača Visual Basic

Najjednostavniji način otvaranja uređivača Visual Basica je korištenje prečaca na tipkovnici - ALT + F11 (držite tipku ALT i pritisnite tipku F11).

Čim to učinite, otvorit će se zaseban prozor za uređivač Visual Basica.

Ovaj prečac funkcionira kao prekidač pa će vas, kad ga ponovno upotrijebite, vratiti u Excel aplikaciju (bez zatvaranja VB uređivača).

Prečac za verziju za Mac je Opcija + F11 ili Fn + Opt + F11

Korištenje kartice Developer

Da biste otvorili uređivač Visual Basic s vrpce:

  1. Kliknite karticu Developer (ako ne vidite karticu Developer, pročitajte ovo o tome kako je nabaviti).
  2. U grupi Kod kliknite Visual Basic.

Korištenje kartice Radni list

Ovo je manje korištena metoda za otvaranje Vb uređivača.

Idite na bilo koju karticu radnog lista, desnom tipkom miša kliknite i odaberite "Prikaži kôd".

Ova metoda ne bi samo otvorila VB Editor, već će vas odvesti i do prozora koda za taj objekt radnog lista.

Ovo je korisno kada želite napisati kôd koji radi samo za određeni radni list. To je obično slučaj s događajima na radnom listu.

Anatomija uređivača Visual Basic u Excelu

Kada prvi put otvorite VB Editor, to može izgledati pomalo neodoljivo.

Postoje različite opcije i odjeljci koji se na prvu mogu činiti potpuno novim.

Također, još uvijek ima stari izgled programa Excel 97 dana. Iako se Excel iznimno poboljšao u dizajnu i upotrebljivosti tijekom godina, VB Editor nije vidio nikakve promjene u svom izgledu.

U ovom odjeljku ću vas provesti kroz različite dijelove aplikacije Visual Basic Editor.

Napomena: Kad sam prije nekoliko godina počeo koristiti VBA, bio sam prilično zatrpan svim tim novim opcijama i prozorima. No kako se naviknete na rad s VBA -om, s većinom ćete se ugodno naviknuti. A većinu vremena nećete morati koristiti sve opcije, samo punu ruku.

Ispod je slika različitih komponenti VB Editor -a. Oni su zatim detaljno opisani u sljedećim odjeljcima ovog vodiča.

Idemo sada brzo proći kroz svaku od ovih komponenti i razumjeti što radi:

Traka izbornika

Ovdje imate sve mogućnosti koje možete koristiti u VB Editoru. Slično je Excelovoj vrpci gdje imate kartice i opcije za svaku karticu.

Dostupne opcije možete istražiti klikom na svaki element izbornika.

Primijetit ćete da većina opcija u VB Editor -u ima pored tipkovnih prečaca navedene. Kad se naviknete na nekoliko tipkovnih prečaca, rad s VB Editor -om postaje zaista lak.

Traka s alatima

Prema zadanim postavkama, u VB Editoru postoji alatna traka koja ima neke korisne opcije koje će vam najčešće trebati. Ovo je poput alatne trake za brzi pristup u Excelu. Omogućuje vam brz pristup nekim korisnim opcijama.

Možete ga malo prilagoditi uklanjanjem ili dodavanjem opcija (klikom na malu strelicu usmjerenu prema dolje na kraju alatne trake).

U većini slučajeva zadana alatna traka je sve što vam je potrebno pri radu s VB Editor -om.

Alatnu traku možete pomicati iznad izborničke trake klikom na tri sive točke (na početku alatne trake) i povlačenjem iznad trake izbornika.

Napomena: U VB Editoru postoje četiri alatne trake - standardni, otklanjanje pogrešaka, uređivanje i korisnički obrazac. Ono što vidite na gornjoj slici (koja je također zadana) je standardna alatna traka. Drugim alatnim trakama možete pristupiti ako odete na opciju Pogled i zadržite pokazivač miša na opciji Alatne trake. Ako želite, možete dodati jednu ili više alatnih traka u VB Editor.

Istraživač projekta

Project Explorer je prozor s lijeve strane koji prikazuje sve trenutno otvorene objekte u Excelu.

Kad radite s Excelom, svaka otvorena radna knjiga ili dodatak je projekt. I svaki od ovih projekata može imati zbirku objekata u sebi.

Na primjer, na donjoj slici, Project Explorer prikazuje dvije otvorene radne knjige (Book1 i Book2) i objekte u svakoj radnoj knjizi (radni listovi, ThisWorkbook i Modul u Book1).

Lijevo od objekata nalazi se ikona plusa koju možete koristiti za sužavanje popisa objekata ili proširenje i pregled cijelog popisa objekata.

Sljedeći objekti mogu biti dio Project Explorera:

  1. Sve otvorene radne knjige - unutar svake radne knjige (koja se naziva i projekt) možete imati sljedeće objekte:
    • Objekt radnog lista za svaki radni list u radnoj bilježnici
    • Objekt ThisWorkbook koja predstavlja samu radnu bilježnicu
    • Tablica objekt za svaki list grafikona (oni nisu toliko uobičajeni kao radni listovi)
    • Moduli - Ovdje odlazi kôd koji se generira pomoću makro snimača. Ovdje također možete napisati ili kopirati-zalijepiti VBA kôd.
  2. Svi otvoreni programski dodaci

Razmotrite Project Explorer kao mjesto koje ocrtava sve objekte otvorene u Excelu u danom trenutku.

Tipkovni prečac za otvaranje Project Explorera je Control + R (držite kontrolnu tipku, a zatim pritisnite R). Da biste ga zatvorili, jednostavno kliknite ikonu zatvaranja u gornjem desnom kutu prozora Project Explorera.

Napomena: Za svaki objekt u Project Exploreru postoji prozor koda u koji možete upisati kôd (ili ga odnekud kopirati i zalijepiti). Prozor koda pojavljuje se kad dvaput kliknete objekt.

Prozor svojstava

Prozor svojstava je mjesto gdje možete vidjeti svojstva odabranog objekta. Ako već nemate prozor Svojstva, možete ga dobiti pomoću tipkovnog prečaca F4 (ili idite na karticu Pogled i kliknite prozor Svojstva).

Prozor svojstava je plutajući prozor koji možete spojiti u VB Editor. U donjem primjeru sam ga usidrio tik ispod Project Explorera.

Prozor svojstava omogućuje nam promjenu svojstava odabranog objekta. Na primjer, ako želim napraviti radni list skrivenim (ili vrlo skrivenim), to mogu učiniti promjenom vidljivog svojstva odabranog objekta radnog lista.

Povezano: Skrivanje radnog lista u Excelu (to se ne može lako sakriti)

Prozor koda

Za svaki objekt koji je naveden u Project Exploreru postoji prozor koda. Prozor koda za objekt možete otvoriti dvostrukim klikom na njega u području Project Explorera.

Prozor koda je mjesto gdje ćete napisati svoj kod ili kopirati zalijepiti kôd s nekog drugog mjesta.

Kada snimite makronaredbu, kôd za nju ulazi u kodni prozor modula. Excel automatski ubacuje modul za postavljanje koda u njega prilikom snimanja makronaredbe.

Povezano: Kako pokrenuti makro (VBA kod) u Excelu.

Neposredni prozor

Neposredni prozor uglavnom se koristi pri otklanjanju pogrešaka u kodu. Jedan od načina na koji koristim prozor Neposredno je pomoću ispisa Print.Debug unutar koda, a zatim pokrenite kôd.

Pomaže mi pri ispravljanju pogrešaka koda i utvrđivanju gdje mi se kod zaglavio. Ako dobijem rezultat Print.Debug u neposrednom prozoru, znam da je kod radio barem do tog retka.

Ako ste tek počeli s VBA kodiranjem, možda će vam trebati neko vrijeme da upotrijebite neposredni prozor za otklanjanje pogrešaka.

Prema zadanim postavkama neposredni prozor nije vidljiv u VB Editoru. Možete ga dobiti pomoću tipkovnog prečaca Control + G (ili možete otići na karticu Pogled i kliknuti na 'Neposredni prozor').

Gdje dodati kôd u VB Editor

Nadam se da sada imate osnovno razumijevanje o tome što je VB Editor i koje sve dijelove ima.

U ovom odjeljku ovog vodiča pokazat ću vam gdje dodati VBA kôd u uređivaču Visual Basic.

Postoje dva mjesta na koja možete dodati VBA kôd u Excel:

  1. Prozor koda za objekt. Ti objekti mogu biti radna knjiga, radni list, korisnički obrazac itd.
  2. Prozor koda modula.

Prozor koda modula Prozor koda objekta

Dopustite mi da najprije brzo razčistim razliku između dodavanja koda u modulu i dodavanja koda u prozor objektnog koda.

Kada bilo kojem objektu dodate kôd, to ovisi o nekoj radnji tog objekta koja će pokrenuti taj kôd. Na primjer, ako želite otkriti sve radne listove u radnoj knjizi čim otvorite tu radnu knjigu, tada bi kôd otišao u objekt ThisWorkbook (koji predstavlja radnu knjigu).

Okidač, u ovom slučaju, otvara radnu knjigu.

Slično, ako želite zaštititi radni list čim se aktivira neki drugi radni kôd, kôd za to stavit će se u prozor koda radnog lista.

Ti se okidači nazivaju događajima i možete pridružiti kôd koji će se izvršiti kada se dogodi događaj.

Povezano: Saznajte više o događajima u VBA -i.

Naprotiv, kôd u modulu treba izvršiti ili ručno (ili ga se može pozvati i iz drugih potprograma).

Kada snimate makronaredbu, Excel automatski stvara modul i u njega ubacuje snimljeni kod makroa. Sada, ako morate pokrenuti ovaj kôd, morate ručno izvršiti makro.

Dodavanje VBA koda u modul

Dok snimanje makronaredbe automatski stvara modul i umetne kôd u njega, postoje neka ograničenja pri korištenju snimača makronaredbi. Na primjer, ne može koristiti petlje ili uvjete If then Else.

U takvim je slučajevima bolje ili ručno kopirati i zalijepiti kôd ili sami napisati kôd.

Modul se može koristiti za držanje sljedećih vrsta VBA kodova:

  1. Deklaracije: Možete proglasiti varijable u modulu. Deklariranjem varijabli možete odrediti koju vrstu podataka varijabla može sadržavati. Možete proglasiti varijablu samo za potprogram ili za sve podrutine u modulu (ili svim modulima)
  2. Potprogrami (procedure): Ovo je kod koji sadrži korake koje želite da izvede VBA.
  3. Postupci rada: Ovo je kôd koji vraća jednu vrijednost i možete ga koristiti za stvaranje prilagođenih funkcija (također se nazivaju korisnički definirane funkcije ili UDF -ovi u VBA -u)

Modul prema zadanim postavkama nije dio radne knjige. Prije upotrebe morate ga umetnuti.

Dodavanje modula u VB Editor

U nastavku su navedeni koraci za dodavanje modula:

  1. Desnom tipkom miša kliknite bilo koji objekt radne knjige (u kojem želite modul).
  2. Zadržite pokazivač miša na opciji Umetanje.
  3. Kliknite na Modul.

Time bi se odmah stvorila mapa pod nazivom Modul i umetnuo objekt zvan Modul 1. Ako već imate umetnut modul, gornji koraci umetnuli bi drugi modul.

Nakon što je modul umetnut, možete dvaput kliknuti objekt modula u Project Exploreru i otvorit će se prozor koda za njega.

Sada možete kopirati-zalijepiti kôd ili ga sami napisati.

Uklanjanje modula

U nastavku su navedeni koraci za uklanjanje modula u Excelu VBA:

  1. Desnom tipkom miša kliknite modul koji želite ukloniti.
  2. Pritisnite opciju Ukloni modul.
  3. U dijaloškom okviru koji se otvori kliknite Ne.

Napomena: Možete ukloniti modul prije nego što ga uklonite. Sprema se kao .bas datoteka i možete je uvesti u neki drugi projekt. Da biste izvezli modul, desnom tipkom miša kliknite modul i kliknite ‘Izvezi datoteku’.

Dodavanje koda u prozor koda objekta

Da biste otvorili prozor koda za objekt, jednostavno dvaput kliknite na njega.

Kad se otvori, kôd možete unijeti ručno ili kopirati i zalijepiti kôd iz drugih modula ili s interneta.

Imajte na umu da vam neki objekti omogućuju odabir događaja za koji želite napisati kôd.

Na primjer, ako želite napisati kôd za nešto što će se dogoditi kada se odabir promijeni na radnom listu, morate prvo odabrati radne listove s padajućeg izbornika u gornjem lijevom kutu prozora koda, a zatim iz padajućeg događaja odabrati događaj promjene -dolje desno.

Napomena: Ovi događaji su specifični za objekt. Kada otvorite prozor koda za radnu knjigu, vidjet ćete događaje koji se odnose na objekt radne knjige. Kada otvorite prozor koda za radni list, vidjet ćete događaje koji se odnose na objekt radnog lista.

Prilagođavanje VB Editor -a

Iako su zadane postavke uređivača Visual Basic dovoljno dobre za većinu korisnika, omogućuju vam dodatno prilagođavanje sučelja i nekoliko funkcionalnosti.

U ovom odjeljku vodiča pokazat ću vam sve mogućnosti koje imate prilikom prilagođavanja VB uređivača.

Da biste prilagodili okruženje VB Editor, kliknite Alati na traci izbornika, a zatim pritisnite Opcije.

Ovo će otvoriti dijaloški okvir Mogućnosti koji će vam dati sve mogućnosti prilagodbe u VB Editoru. Dijaloški okvir "Opcije" ima četiri kartice (kao što je prikazano u nastavku) koje imaju različite mogućnosti prilagođavanja za Visual Basic Editor.

Prođimo brzo kroz svaku od ovih kartica i važne opcije u svakoj.

Kartica Editor

Iako ugrađene postavke u većini slučajeva rade dobro, dopustite mi da ipak prođem kroz opcije na ovoj kartici.

Kako postajete sve iskusniji u radu s VBA -om u Excelu, možda ćete htjeti prilagoditi VB Editor pomoću nekih od ovih opcija.

Automatska provjera sintakse

Prilikom rada s VBA-om u Excelu, čim napravite sintaksnu pogrešku, dočekat će vas skočni dijaloški okvir (s nekim opisom pogreške). Nešto kao što je prikazano ispod:

Ako onemogućite ovu opciju, ovaj skočni okvir neće se pojaviti čak ni kada napravite sintaksnu pogrešku. Međutim, došlo bi do promjene boje teksta koda kako bi se pokazalo da postoji pogreška.

Ako ste početnik, preporučujem da ovu opciju ostavite omogućenom. Kako budete imali više iskustva s kodiranjem, ove će vam skočne okvire možda početi iritirati, a zatim možete onemogućiti ovu opciju.

Zahtijeva promjenjivu deklaraciju

Ovo je jedna od opcija koju preporučujem omogućiti.

Kad radite s VBA -om, koristili biste varijable za držanje različitih vrsta podataka i objekata.

Kada omogućite ovu opciju, ona automatski ubacuje izraz 'Option Explicit' na vrh prozora koda. Ovo vas prisiljava da deklarirate sve varijable koje koristite u svom kodu. Ako ne deklarirate varijablu i pokušate izvršiti kôd, ona će pokazati pogrešku (kao što je prikazano u nastavku).

U gornjem slučaju koristio sam varijablu Var, ali je nisam deklarirao. Dakle, kad pokušavam pokrenuti kôd, prikazuje grešku.

Ova je opcija vrlo korisna kada imate puno varijabli. Često mi pomaže u pronalaženju pogrešno napisanih naziva varijabli jer se smatraju neprijavljenim i prikazuje se pogreška.

Napomena: Kada omogućite ovu opciju, ona ne utječe na postojeće module.

Član automatskog popisa

Ova je opcija vrlo korisna jer vam pomaže da dobijete popis svojstava metoda za objekt.

Na primjer, ako želim izbrisati radni list (Sheet1), moram koristiti redak Sheet1.Delete.

Dok pišem kôd, čim upišem točku, pokazat će mi se sve metode i svojstva povezana s objektom Radni list (kao što je prikazano u nastavku).

Značajka automatskog popisa odlična je jer vam omogućuje:

  • Brzo odaberite svojstvo i metodu s popisa i štedite vrijeme
  • Prikazuje vam sva svojstva i metode kojih možda niste svjesni
  • Izbjegavajte pravopisne pogreške

Ova je opcija prema zadanim postavkama omogućena i preporučujem da tako i ostane.

Opcije automatskih brzih informacija

Kada upišete funkciju na radnom listu programa Excel, ona vam prikazuje neke podatke o funkciji - poput argumenata koje treba uzeti.

Slično, kada upišete funkciju u VBA, ona vam prikazuje neke podatke (kao što je prikazano u nastavku). No da bi se to dogodilo, morate provjeriti je li omogućena opcija Auto Quick Quick Info (što je zadano).

Opcije automatskih podataka

Kad prolazite kroz kôd redak po redak i postavite pokazivač iznad naziva varijable, pokazat će vam vrijednost varijable.

Smatram da je to vrlo korisno pri ispravljanju pogrešaka koda ili prolasku kroz kod po redak koji ima petlje.

U gornjem primjeru, čim postavim pokazivač iznad varijable (var), ona prikazuje vrijednost koju drži.

Ova je opcija prema zadanim postavkama omogućena i preporučujem da je tako zadržite.

Automatsko uvlačenje

Budući da VBA kodovi mogu postati dugi i neuredni, korištenje uvlačenja povećava čitljivost koda.

Prilikom pisanja koda možete uvlačiti pomoću tipke tab.

Ova opcija osigurava da kada završite s uvučenim retkom i pritisnete enter, sljedeći redak ne počinje od samog početka, već ima isto uvlačenje kao prethodni redak.

U gornjem primjeru, nakon što napišem redak Debug.Print i pritisnem enter, počet će točno ispod njega (s istom razinom uvlačenja).

Smatram da je ova opcija korisna, a isključivanje bi značilo ručno uvlačenje svakog retka u bloku koda koji želim uvući.

Vrijednost uvlake možete promijeniti ako želite. Zadržavam zadanu vrijednost.

Uređivanje teksta povlačenjem i ispuštanjem

Kad je ova opcija omogućena, omogućuje vam odabir bloka koda i povlačenje i ispuštanje.

Štedi vrijeme jer ga ne morate prvo izrezati, a zatim zalijepiti. Možete ga jednostavno odabrati i povući.

Ova je opcija prema zadanim postavkama omogućena i preporučujem da je tako zadržite.

Zadano za prikaz cijelog modula

Kad je ova opcija omogućena, moći ćete vidjeti sve procedure u modulu na jednom popisu koji se može pomicati.

Ako onemogućite ovu opciju, moći ćete vidjeti samo jedan modul odjednom. Morat ćete odabrati modul koji želite vidjeti s padajućeg izbornika u gornjem desnom kutu prozora koda.

Ova je opcija prema zadanim postavkama omogućena i preporučujem da tako i ostane.

Jedan od razloga zašto biste ga htjeli onemogućiti ako imate više postupaka koji su ogromni i pomicate se kroz njih je vrijeme, ili kada imate puno procedura i želite ga brzo pronaći umjesto da gubite vrijeme na pomicanje.

Odvajač procedura

Kad je ova opcija omogućena, vidjet ćete liniju (neku vrstu razdjelnika) između dva postupka.

Smatram da je ovo korisno jer vizualno pokazuje kada jedan postupak završi, a drugi započne.

Omogućeno je prema zadanim postavkama i preporučujem da tako i ostane.

Kartica Format Editor

Pomoću opcija na kartici Uređivač Format možete prilagoditi izgled koda u prozoru koda.

Osobno zadržavam sve zadane opcije jer mi to odgovara. Ako želite, možete to prilagoditi prema vlastitim željama.

Za promjenu morate prvo odabrati opciju u okviru Boje koda. Nakon što odaberete opciju, možete joj promijeniti prednji plan, pozadinu i boju indikatora.

Vrsta fonta i veličina fonta također se mogu postaviti na ovoj kartici. Preporučuje se korištenje fonta fiksne širine, poput Courier New, jer čini kôd čitljivijim.

Imajte na umu da će vrsta i veličina fonta ostati iste za sve vrste kodova (tj. Sve vrste kodova prikazane u okviru za boju koda).

Ispod je slika na kojoj sam odabrao Točku prekida i mogu promijeniti njezino oblikovanje.

Napomena: Opcija Margin Indicator Bar kada je omogućena prikazuje malu marginu s lijeve strane koda. To je korisno jer pokazuje korisne pokazatelje pri izvršavanju koda. U gornjem primjeru, kada postavite točku prekida, ona će automatski pokazati crvenu točku lijevo od retka na margini. Alternativno, da biste postavili točku prekida, možete jednostavno kliknuti na marginu traku s lijeve strane linije koda koju želite kao točku prekida.

Prema zadanim postavkama, Margin Indicator Bar je omogućen i preporučujem da tako ostane.

Jednoj od mojih studentica VBA tečaja ove su opcije prilagodbe bile korisne i bila je daltonist. Koristeći ovdje navedene mogućnosti uspjela je postaviti boju i formate koji su joj olakšali rad s VBA -om.

Kartica Općenito

Kartica Općenito ima mnogo opcija, ali ne morate ništa mijenjati.

Preporučujem da zadržite sve opcije kakve jesu.

Jedna važna mogućnost o kojoj trebate znati na ovoj kartici je Rukovanje pogreškama.

Prema zadanim postavkama odabran je 'Break on Unhandled Errors' i preporučujem da tako ostane.

Ova opcija znači da će, ako vaš kôd naiđe na pogrešku, a niste je već riješili u svom kodu, prekinuti i prestati. Ali ako ste riješili pogrešku (na primjer, pomoću opcija On Error Resume Next ili On Error Goto), tada se neće slomiti (jer se pogreške ne rješavaju).

Priključna kartica

Na ovoj kartici možete odrediti koje prozore želite spojiti.

Spajanje znači da možete popraviti položaj prozora (kao što je istraživač projekata ili prozor Svojstva) tako da ne pluta okolo i da možete vidjeti sve različite prozore u isto vrijeme.

Ako ne pristanete, moći ćete pregledavati jedan po jedan prozor na cijelom zaslonu i morat ćete se prebaciti na drugi.

Preporučujem zadržavanje zadanih postavki.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave