Urejevalnik Visual Basic - Kako ga odpreti in uporabiti v Excelu

Prvi korak pri delu z VBA v Excelu je, da se seznanite z urejevalnikom Visual Basic (imenovan tudi urejevalnik VBA ali urejevalnik VB).

V tej vadnici bom zajel vse, kar morate vedeti o urejevalniku VBA in nekatere uporabne možnosti, ki jih morate poznati pri kodiranju v Excelu VBA.

Kaj je urejevalnik Visual Basic v Excelu?

Urejevalnik Visual Basic je ločena aplikacija, ki je del Excela in se odpre vsakič, ko odprete Excelov delovni zvezek. Privzeto je skrit in za dostop do njega ga morate aktivirati.

Urejevalnik VB je kraj, kjer hranite kodo VB.

Kodo v urejevalniku VB lahko dobite na več načinov:

  1. Ko posnamete makro, samodejno ustvari nov modul v urejevalniku VB in vstavi kodo v ta modul.
  2. V urejevalniku VB lahko ročno vnesete kodo VB.
  3. Kodo lahko kopirate iz drugega delovnega zvezka ali iz interneta in jo prilepite v urejevalnik VB.

Odpiranje urejevalnika VB

Urejevalnik Visual Basic v Excelu lahko odprete na različne načine:

  1. Uporaba bližnjice na tipkovnici (najlažje in najhitreje)
  2. Uporaba zavihka Razvijalec.
  3. Uporaba zavihkov delovnega lista.

Pojdimo hitro skozi vsako od teh.

Bližnjica na tipkovnici za odpiranje urejevalnika Visual Basic

Urejevalnik Visual Basic najlažje odprete z bližnjico na tipkovnici - ALT + F11 (držite tipko ALT in pritisnite tipko F11).

Takoj, ko to storite, se odpre ločeno okno za urejevalnik Visual Basic.

Ta bližnjica deluje kot preklopnik, zato vas ob ponovni uporabi popelje nazaj v Excelovo aplikacijo (brez zapiranja urejevalnika VB).

Bližnjica za različico Mac je Opt + F11 ali Fn + Opt + F11

Uporaba zavihka Razvijalec

Urejevalnik Visual Basic odprete s traku:

  1. Kliknite zavihek Razvijalec (če ne vidite zavihka razvijalca, preberite, kako ga pridobiti).
  2. V skupini Koda kliknite Visual Basic.

Uporaba zavihka Delovni list

To je manj uporabljena metoda za odpiranje urejevalnika Vb.

Pojdite na kateri koli zavihek delovnega lista, z desno tipko miške kliknite in izberite »Ogled kode«.

Ta metoda ne bi samo odprla urejevalnika VB, temveč vas bo tudi popeljala v okno kode za ta predmet delovnega lista.

To je uporabno, če želite napisati kodo, ki deluje samo za določen delovni list. To običajno velja za dogodke na delovnem listu.

Anatomija urejevalnika Visual Basic v Excelu

Ko prvič odprete urejevalnik VB, bo morda videti nekoliko premočno.

Obstajajo različne možnosti in odseki, ki se na prvi pogled zdijo popolnoma novi.

Prav tako ima še vedno 97 -dnevni videz Excela. Medtem ko se je Excel v preteklih letih močno izboljšal pri oblikovanju in uporabnosti, urejevalnik VB ni videl nobenih sprememb v svojem videzu.

V tem razdelku vas bom popeljal skozi različne dele aplikacije Visual Basic Editor.

Opomba: Ko sem pred leti začel uporabljati VBA, sem bil precej preobremenjen z vsemi temi novimi možnostmi in okni. Toda, ko se navadite delati z VBA, bi se z večino teh prilagodili. V večini primerov vam ne bo treba uporabiti vseh možnosti, samo polne roke dela.

Spodaj je slika različnih komponent urejevalnika VB. Te so nato podrobno opisane v spodnjih razdelkih te vadnice.

Zdaj pa hitro pojdimo skozi vsako od teh komponent in razumejmo, kaj počne:

Menijska vrstica

Tukaj imate vse možnosti, ki jih lahko uporabite v urejevalniku VB. Podobno je Excelovemu traku, kjer imate zavihke in možnosti za vsak zavihek.

Razpoložljive možnosti lahko raziščete s klikom na vsak element menija.

Opazili boste, da ima večina možnosti v VB Editorju bližnjice na tipkovnici. Ko se navadite na nekaj bližnjic na tipkovnici, postane delo z urejevalnikom VB zelo preprosto.

Orodna vrstica

Privzeto je v urejevalniku VB orodna vrstica z nekaj uporabnimi možnostmi, ki jih boste najpogosteje potrebovali. To je tako kot orodna vrstica za hitri dostop v Excelu. Omogoča hiter dostop do nekaterih uporabnih možnosti.

Lahko ga nekoliko prilagodite tako, da odstranite ali dodate možnosti (s klikom na majhno puščico navzdol na koncu orodne vrstice).

V večini primerov je pri delu z urejevalnikom VB vse, kar potrebujete, privzeta orodna vrstica.

Orodno vrstico lahko premaknete nad menijsko vrstico tako, da kliknete tri sive pike (na začetku orodne vrstice) in jo povlečete nad menijsko vrstico.

Opomba: V urejevalniku VB so štiri orodne vrstice - standardni, odpravljanje napak, urejanje in uporabniški obrazec. Kar vidite na zgornji sliki (ki je tudi privzeta), je standardna orodna vrstica. Do drugih orodnih vrstic lahko dostopate tako, da odprete možnost Pogled in premaknete kazalec na možnost Orodne vrstice. Če želite, lahko v urejevalnik VB dodate eno ali več orodnih vrstic.

Raziskovalec projektov

Project Explorer je okno na levi strani, ki prikazuje vse trenutno odprte predmete v Excelu.

Ko delate z Excelom, je vsak odprt delovni zvezek ali dodatek projekt. In vsak od teh projektov lahko vsebuje zbirko predmetov.

Na primer na spodnji sliki Project Explorer prikazuje dva odprta delovna zvezka (Book1 in Book2) in predmete v vsakem delovnem zvezku (delovni listi, ThisWorkbook in Module v Book1).

Levo od predmetov je ikona plus, s katero lahko strnete seznam predmetov ali razširite in si ogledate celoten seznam predmetov.

Naslednji predmeti so lahko del raziskovalca projektov:

  1. Vsi odprti delovni zvezki - v vsakem delovnem zvezku (ki se imenuje tudi projekt) so lahko naslednji predmeti:
    • Objekt delovnega lista za vsak delovni list v delovnem zvezku
    • Objekt tega delovnega zvezka ki predstavlja sam delovni zvezek
    • Grafikon predmet za vsak list grafikona (ti niso tako pogosti kot delovni listi)
    • Moduli - Tu gre koda, ki jo ustvari makro snemalnik. Tukaj lahko tudi napišete ali kopirate ali prilepite kodo VBA.
  2. Vsi odprti dodatki

Raziskovalec projektov upoštevajte kot mesto, ki opisuje vse predmete, odprte v Excelu v določenem času.

Bližnjica na tipkovnici za odpiranje Raziskovalca projekta je Control + R. (držite tipko za upravljanje in pritisnite R). Če ga želite zapreti, preprosto kliknite ikono za zapiranje v zgornjem desnem kotu okna Raziskovalec projektov.

Opomba: Za vsak predmet v Raziskovalcu Project je okno s kodo, v katero lahko kodo napišete (ali kopirate in prilepite od nekod). Okno za kodo se prikaže, ko dvokliknete predmet.

Okno lastnosti

Okno Lastnosti je, kjer si lahko ogledate lastnosti izbranega predmeta. Če okna Lastnosti še nimate, ga lahko dobite z bližnjico na tipkovnici F4 (ali pojdite na zavihek Pogled in kliknite okno Lastnosti).

Okno lastnosti je plavajoče okno, ki ga lahko zasidrate v urejevalniku VB. V spodnjem primeru sem ga priklopil tik pod Project Explorer.

Okno lastnosti nam omogoča spreminjanje lastnosti izbranega predmeta. Če želim na primer narediti skrit (ali zelo skrit) delovni list, lahko to naredim tako, da spremenim vidno lastnost izbranega predmeta delovnega lista.

Sorodno: Skrivanje delovnega lista v Excelu (tega ni mogoče preprosto skriti)

Okno za kodo

Za vsak predmet, ki je naveden v Raziskovalcu projektov, je okno za kodo. Okno kode za predmet lahko odprete tako, da ga dvokliknete v območju Raziskovalec projektov.

Okno za kodo je mesto, kjer boste kodo zapisali ali kopirali, prilepili kodo od drugod.

Ko posnamete makro, gre njegova koda v okno kode modula. Excel pri snemanju makra samodejno vstavi modul, da vanj vstavi kodo.

Sorodno: Kako zagnati makro (koda VBA) v Excelu.

Takojšnje okno

Okno Takojšnje se večinoma uporablja pri odpravljanju napak v kodi. Eden od načinov, kako uporabim okno Takojšnje, je uporaba stavka Print.Debug v kodi in nato zaženi kodo.

Pomaga mi pri odpravljanju napak kode in ugotavljanju, kje se moja koda zatakne. Če v neposrednem oknu dobim rezultat Print.Debug, vem, da je koda delovala vsaj do te vrstice.

Če ste novi pri kodiranju VBA, bo morda trajalo nekaj časa, da boste lahko neposredno okno uporabili za odpravljanje napak.

Privzeto takojšnje okno ni vidno v urejevalniku VB. Dobite ga lahko z bližnjico na tipkovnici Control + G (ali pa pojdite na zavihek Pogled in kliknite »Takojšnje okno«).

Kje dodati kodo v urejevalniku VB

Upam, da imate zdaj osnovno razumevanje, kaj je VB Editor in kaj vse vsebuje.

V tem razdelku te vadnice vam bom pokazal, kje v urejevalnik Visual Basic dodati kodo VBA.

Kodo VBA v Excelu lahko dodate na dva mesta:

  1. Okno kode za predmet. Ti predmeti so lahko delovni zvezek, delovni list, uporabniški obrazec itd.
  2. Okno kode modula.

Okno kode modula proti oknu kode objekta

Naj najprej hitro razčistim razliko med dodajanjem kode v modulu in dodajanjem kode v oknu predmetne kode.

Ko dodate kodo kateremu koli predmetu, je to odvisno od nekega dejanja predmeta, ki bo sprožilo to kodo. Če želite na primer vse delovne liste v delovnem zvezku razkriti takoj, ko odprete ta delovni zvezek, bi bila koda v objektu ThisWorkbook (ki predstavlja delovni zvezek).

Sprožilec v tem primeru odpira delovni zvezek.

Podobno, če želite zaščititi delovni list takoj, ko je aktiviran kak drug delovni list, bi bila koda za to v oknu s kodo delovnega lista.

Ti sprožilci se imenujejo dogodki in lahko povežete kodo, ki se izvede, ko pride do dogodka.

Sorodno: Več o dogodkih v VBA.

Nasprotno, kodo v modulu je treba izvesti ročno (ali pa jo je mogoče poklicati tudi iz drugih podprogramov).

Ko posnamete makro, Excel samodejno ustvari modul in vanj vstavi posneto kodo makra. Če morate zagnati to kodo, morate ročno izvesti makro.

Dodajanje kode VBA v modul

Medtem ko snemanje makra samodejno ustvari modul in vanj vstavi kodo, obstajajo nekatere omejitve pri uporabi snemalnika makrov. Na primer, ne more uporabiti zank ali pogojev If then Else.

V takih primerih je bolje, da kodo kopirate in prilepite ali kodo napišete sami.

Modul lahko uporabite za shranjevanje naslednjih vrst kod VBA:

  1. Izjave: Spremenljivke lahko razglasite v modulu. Z razglasitvijo spremenljivk lahko določite, kakšno vrsto podatkov lahko vsebuje spremenljivka. Spremenljivko lahko razglasite samo za podprogram ali za vse podprograme v modulu (ali vseh modulih)
  2. Podprogrami (postopki): To je koda, ki vsebuje korake, ki jih želite izvesti VBA.
  3. Postopki delovanja: To je koda, ki vrne eno samo vrednost in jo lahko uporabite za ustvarjanje funkcij po meri (imenovane tudi uporabniško določene funkcije ali UDF v VBA)

Privzeto modul ni del delovnega zvezka. Pred uporabo ga morate najprej vstaviti.

Dodajanje modula v urejevalnik VB

Spodaj so navedeni koraki za dodajanje modula:

  1. Z desno miškino tipko kliknite kateri koli predmet delovnega zvezka (v katerem želite modul).
  2. Premaknite kazalec na možnost Vstavi.
  3. Kliknite na Modul.

To bi takoj ustvarilo mapo z imenom Module in vstavilo predmet z imenom Module 1. Če že imate vstavljen modul, bi zgornji koraki vstavili drug modul.

Ko je modul vstavljen, lahko dvokliknete predmet modula v Raziskovalcu projektov in odpre se mu okno s kodo.

Zdaj lahko kodo prilepite ali napišete sami.

Odstranitev modula

Spodaj so navedeni koraki za odstranitev modula v Excelu VBA:

  1. Z desno tipko miške kliknite modul, ki ga želite odstraniti.
  2. Kliknite možnost Odstrani modul.
  3. V pogovornem oknu, ki se odpre, kliknite Ne.

Opomba: Preden odstranite modul, ga lahko izvozite. Shrani se kot datoteka .bas in jo lahko uvozite v kakšen drug projekt. Če želite izvoziti modul, z desno tipko miške kliknite modul in kliknite »Izvozi datoteko«.

Dodajanje kode v okno kode objekta

Če želite odpreti okno kode za predmet, ga dvokliknite.

Ko se odpre, lahko kodo vnesete ročno ali jo kopirate in prilepite iz drugih modulov ali iz interneta.

Upoštevajte, da vam nekateri predmeti omogočajo izbiro dogodka, za katerega želite napisati kodo.

Na primer, če želite napisati kodo, da bi se kaj zgodilo, ko se izbira spremeni na delovnem listu, morate najprej izbrati delovne liste v spustnem meniju v zgornjem levem kotu okna kode in nato iz padajočega dogodka izbrati dogodek spremembe -dol na desni.

Opomba: Ti dogodki so specifični za objekt. Ko odprete okno kode za delovni zvezek, boste videli dogodke, povezane z objektom delovnega zvezka. Ko odprete okno kode za delovni list, boste videli dogodke, povezane s predmetom delovnega lista.

Prilagajanje urejevalnika VB

Čeprav so privzete nastavitve urejevalnika Visual Basic dovolj dobre za večino uporabnikov, vam omogočajo dodatno prilagoditev vmesnika in nekaj funkcij.

V tem razdelku vadnice vam bom pokazal vse možnosti, ki jih imate pri prilagajanju urejevalnika VB.

Če želite prilagoditi okolje VB Editor, kliknite Orodja v menijski vrstici in nato Možnosti.

To bi odprlo pogovorno okno Možnosti, ki vam bo dalo vse možnosti prilagajanja v urejevalniku VB. Pogovorno okno »Možnosti« ima štiri zavihke (kot je prikazano spodaj), ki imajo različne možnosti prilagajanja za urejevalnik Visual Basic.

Poglejmo hitro vsak od teh zavihkov in pomembne možnosti v vsakem.

Kartica urejevalnika

Čeprav vgrajene nastavitve v večini primerov dobro delujejo, naj še vedno preberem možnosti na tem zavihku.

Ko boste bolj usposobljeni za delo z VBA v Excelu, boste morda želeli prilagoditi urejevalnik VB z uporabo nekaterih od teh možnosti.

Samodejno preverjanje skladnje

Ko delate z VBA v Excelu, vas bo takoj, ko naredite sintaktično napako, pozdravilo pojavno pogovorno okno (z nekaj opisom napake). Nekaj, kot je prikazano spodaj:

Če to možnost onemogočite, se to pojavno okno ne prikaže, tudi če naredite sintaktično napako. Vendar bi prišlo do spremembe barve besedila kode, kar bi kazalo na napako.

Če ste začetnik, vam priporočam, da to možnost omogočite. Ko boste imeli več izkušenj s kodiranjem, se vam bodo ta pojavna okna morda razdražila, nato pa lahko onemogočite to možnost.

Zahtevajte spremenljivko

To je ena od možnosti, ki jo priporočam omogočiti.

Ko delate z VBA, bi uporabljali spremenljivke za shranjevanje različnih podatkovnih tipov in objektov.

Ko omogočite to možnost, samodejno vstavi stavek 'Option Explicit' na vrh okna kode. To vas prisili, da v kodi deklarirate vse spremenljivke, ki jih uporabljate. Če spremenljivke ne deklarirate in poskusite izvesti kodo, bo prikazana napaka (kot je prikazano spodaj).

V zgornjem primeru sem uporabil spremenljivko Var, vendar je nisem razglasil. Torej, ko poskušam zagnati kodo, se prikaže napaka.

Ta možnost je zelo uporabna, če imate veliko spremenljivk. Pogosto mi pomaga najti napačno napisana imena spremenljivk, saj veljajo za neprijavljene in se prikaže napaka.

Opomba: Ko omogočite to možnost, to ne vpliva na obstoječe module.

Član samodejnega seznama

Ta možnost je zelo uporabna, saj vam pomaga pridobiti seznam lastnosti metod za predmet.

Na primer, če želim izbrisati delovni list (Sheet1), moram uporabiti vrstico Sheet1.Delete.

Medtem ko tipkam kodo, mi bo takoj, ko vtipkam piko, pokazala vse metode in lastnosti, povezane s predmetom delovnega lista (kot je prikazano spodaj).

Funkcija samodejnega seznama je odlična, saj vam omogoča:

  • Hitro izberite lastnost in način s seznama in prihranite čas
  • Prikaže vse lastnosti in metode, ki se jih morda ne zavedate
  • Izogibajte se pravopisnim napakam

Ta možnost je privzeto omogočena in priporočam, da tako ostane.

Možnosti samodejnih hitrih informacij

Ko vnesete funkcijo v Excelov delovni list, vam prikaže nekaj informacij o funkciji - na primer argumente, ki jih potrebuje.

Podobno vam pri vnosu funkcije v VBA prikaže nekaj informacij (kot je prikazano spodaj). Če želite to narediti, se prepričajte, da je omogočena možnost Samodejne hitre informacije (kar je privzeto).

Možnosti samodejnih podatkovnih nasvetov

Ko greste po kodni vrstici za vrstico in postavite kazalec nad ime spremenljivke, vam bo prikazala vrednost spremenljivke.

Zdi se mi zelo koristno pri odpravljanju napak v kodi ali pri pregledu kode po vrstici, ki vsebuje zanke.

V zgornjem primeru takoj, ko postavim kazalec na spremenljivko (var), pokaže vrednost, ki jo ima.

Ta možnost je privzeto omogočena in priporočam, da tako tudi ostane.

Samodejni zamik

Ker lahko kode VBA postanejo dolge in grde, uporaba zamika poveča berljivost kode.

Ko pišete kodo, jo lahko zamaknete s tipko tabulator.

Ta možnost zagotavlja, da se naslednja vrstica, ko končate z zamikano vrstico in pritisnete enter, ne začne od samega začetka, ampak ima enako zamik kot prejšnja vrstica.

V zgornjem primeru, potem ko napišem vrstico Debug.Print in pritisnem enter, se bo začela tik pod njo (z enako stopnjo zamika).

Zdi se mi, da je ta možnost koristna in če bi to izklopili, bi to pomenilo ročno zamikanje vsake vrstice v bloku kode, ki jo želim zamakniti.

Vrednost zamika lahko spremenite, če želite. Ohranim privzeto vrednost.

Urejanje besedila povleci in spusti

Ko je ta možnost omogočena, vam omogoča, da izberete blok kode in ga povlečete in spustite.

Prihrani čas, saj vam ga ni treba najprej izrezati in nato prilepiti. Lahko ga preprosto izberete in povlečete.

Ta možnost je privzeto omogočena in priporočam, da tako tudi ostane.

Privzeto na Pogled celotnega modula

Ko je ta možnost omogočena, boste lahko videli vse postopke v modulu na enem samem seznamu, ki ga je mogoče premikati.

Če onemogočite to možnost, boste lahko videli samo en modul hkrati. Iz spustnega menija v zgornjem desnem kotu okna za kodo boste morali izbrati modul, ki ga želite videti.

Ta možnost je privzeto omogočena in priporočam, da tako ostane.

Eden od razlogov, da ga želite onemogočiti, če imate več postopkov, ki so ogromni in se premikate po njih, je čas ali če imate veliko postopkov in ga želite hitro najti, namesto da bi izgubljali čas pri drsenju.

Ločevalnik postopkov

Ko je ta možnost omogočena, boste med dvema postopkoma videli črto (nekakšen razdelilnik).

To se mi zdi koristno, saj vizualno prikazuje, kdaj se en postopek konča, drugi pa začne.

Privzeto je omogočeno in priporočam, da ostane tako.

Zavihek Oblika urejevalnika

Z možnostmi na zavihku Oblika urejevalnika lahko prilagodite videz kode v oknu za kodo.

Osebno ohranim vse privzete možnosti, saj mi je to v redu. Če želite, lahko to prilagodite glede na vaše želje.

Če želite spremeniti, morate najprej izbrati možnost v polju Barve kode. Ko izberete možnost, lahko zanjo spremenite barvo ospredja, ozadja in indikatorja.

Na tem zavihku lahko nastavite tudi vrsto pisave in velikost pisave. Priporočljivo je, da uporabite pisavo s fiksno širino, kot je Courier New, saj naredi kodo bolj berljivo.

Upoštevajte, da nastavitev vrste in velikosti pisave ostane enaka za vse vrste kod (tj. Vse vrste kod, prikazane v polju za barvo kode).

Spodaj je slika, kjer sem izbral točko preloma in jo lahko spremenim v oblikovanju.

Opomba: Možnost Margin Indicator Bar, ko je omogočena, kaže levo robno vrstico levo od kode. To je v pomoč, saj prikazuje uporabne kazalnike pri izvajanju kode. V zgornjem primeru, ko nastavite prelomno točko, bo samodejno prikazala rdečo piko levo od vrstice v robni vrstici. Druga možnost je, da nastavite prelomno točko, tako da preprosto kliknete robno vrstico na levi strani kodne vrstice, ki jo želite kot prelomno točko.

Privzeto je vrstica za kazalnik marže omogočena in priporočam, da tako ostane.

Enemu od mojih študentov tečaja VBA so bile te možnosti prilagajanja koristne in je bila barvno slepa. Z uporabo možnosti tukaj je lahko nastavila barvo in oblike, ki so ji olajšale delo z VBA.

Splošno Tab

Zavihek Splošno ima veliko možnosti, vendar vam ga ni treba spreminjati.

Priporočam, da vse možnosti ohranite takšne, kot so.

Ena pomembna možnost, ki jo morate poznati na tem zavihku, je ravnanje z napakami.

Privzeto je izbran 'Prekinitev pri neobdelanih napakah' in priporočam, da tako ostane.

Ta možnost pomeni, da če se v vaši kodi pojavi napaka in je v svoji kodi še niste obravnavali, se bo zlomila in ustavila. Če pa ste napako odpravili (na primer z možnostmi On Error Resume Next ali On Error Goto), se ne bo zlomila (saj se napake ne odpravijo).

Priključni zavihek

Na tem zavihku lahko določite, katera okna želite priklopiti.

Priključitev pomeni, da lahko popravite položaj okna (na primer raziskovalca projektov ali okna Lastnosti), tako da ne lebdi in si lahko ogledate vsa različna okna hkrati.

Če ne zasidrate, si boste lahko ogledali eno okno naenkrat v celozaslonskem načinu in morali boste preklopiti na drugo.

Priporočam, da ohranite privzete nastavitve.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave