Visual Basic Editor - kuidas seda Excelis avada ja kasutada

Esimene samm VBA -ga Excelis töötamiseks on tutvumine Visual Basic Editoriga (seda nimetatakse ka VBA -redaktoriks või VB -redaktoriks).

Selles õpetuses käsitlen kõike, mida peate teadma VBA redaktori kohta, ja mõningaid kasulikke valikuid, mida peaksite Excel VBA -s kodeerimisel teadma.

Mis on Exceli Visual Basic Editor?

Visual Basic Editor on eraldi rakendus, mis on Exceli osa ja avaneb iga kord, kui avate Exceli töövihiku. Vaikimisi on see peidetud ja sellele juurdepääsuks peate selle aktiveerima.

VB Editor on koht, kus hoiate VB -koodi.

Koodi saab VB redaktoris mitmel viisil:

  1. Makro salvestamisel loob see automaatselt uue mooduli VB redaktorisse ja lisab koodi sellesse moodulisse.
  2. Saate VB -redaktoris VB -koodi käsitsi sisestada.
  3. Koodi saate kopeerida mõnest muust töövihikust või Internetist ja kleepida selle VB redaktorisse.

VB redaktori avamine

Visual Basic Editori avamiseks Excelis on mitu võimalust.

  1. Klaviatuuri otsetee kasutamine (lihtsaim ja kiireim)
  2. Arendaja vahekaardi kasutamine.
  3. Töölehe vahelehtede kasutamine.

Vaatame need kõik kiiresti läbi.

Klaviatuuri otsetee Visual Basic Editori avamiseks

Lihtsaim viis Visual Basic redaktori avamiseks on kasutada kiirklahvi - ALT + F11 (hoidke all klahvi ALT ja vajutage klahvi F11).

Niipea kui seda teete, avaneb see Visual Basic redaktori jaoks eraldi aken.

See otsetee töötab lülitina, nii et kui te seda uuesti kasutate, viib see teid tagasi Exceli rakendusse (ilma VB redaktorit sulgemata).

Maci versiooni otsetee on Vali + F11 või Fn + Opt + F11

Arendaja vahekaardi kasutamine

Visual Basic Editori avamiseks lindilt tehke järgmist.

  1. Klõpsake vahekaarti Arendaja (kui te ei näe arendaja vahekaarti, lugege selle hankimise kohta teavet).
  2. Klõpsake rühmas Kood Visual Basic.

Töölehe vahekaardi kasutamine

See on vähem kasutatav meetod Vb redaktori avamiseks.

Minge töölehe mis tahes vahelehele, paremklõpsake ja valige „Vaata koodi”.

See meetod ei avaks lihtsalt VB redaktorit, vaid viib teid ka selle töölehe objekti koodi aknasse.

See on kasulik, kui soovite kirjutada koodi, mis töötab ainult konkreetse töölehe jaoks. Tavaliselt on see nii töölehe sündmuste puhul.

Visual Basic Editori anatoomia Excelis

Kui avate VB redaktori esmakordselt, võib see tunduda pisut üle jõu käiv.

Seal on erinevaid valikuid ja jaotisi, mis võivad esialgu tunduda täiesti uued.

Samuti on sellel endiselt vana Excel 97 päeva välimus. Kuigi Excel on aastate jooksul disaini ja kasutatavuse osas tohutult paranenud, pole VB redaktor selle välimuses mingeid muutusi näinud.

Selles osas tutvustan teid Visual Basic Editori rakenduse erinevatest osadest.

Märkus: Kui ma hakkasin aastaid tagasi VBA -d kasutama, olin ma kõigi nende uute valikute ja akendega üsna ülekoormatud. Kuid kui olete harjunud VBA -ga töötama, oleksite enamiku neist mugav. Ja enamasti ei pea te kõiki võimalusi kasutama, vaid ainult käsi täis.

Allpool on pilt VB redaktori erinevatest komponentidest. Neid kirjeldatakse seejärel üksikasjalikult selle õpetuse järgmistes osades.

Nüüd vaatame kiiresti läbi kõik need komponendid ja mõistame, mida see teeb:

Menüüriba

Siin on teil kõik võimalused, mida saate VB -redaktoris kasutada. See on sarnane Exceli lindiga, kus teil on vahekaardid ja valikud iga vahekaardi jaoks.

Saadaolevate valikutega saate tutvuda, klõpsates igal menüüelemendil.

Märkate, et enamiku VB Editori suvandite kõrval on klaviatuuri otseteed. Kui olete mõne klaviatuuri otseteega harjunud, muutub VB redaktoriga töötamine tõesti lihtsaks.

Tööriistariba

Vaikimisi on VB redaktoris tööriistariba, millel on mõned kasulikud valikud, mida tõenäoliselt kõige sagedamini vajate. See on täpselt nagu Exceli kiirjuurdepääsu tööriistariba. See annab teile kiire juurdepääsu mõnele kasulikule valikule.

Saate seda veidi kohandada, eemaldades või lisades sellele valikuid (klõpsates tööriistariba lõpus asuvat väikest allapoole suunatud noolt).

Enamikul juhtudel on vaiketööriistariba VB redaktoriga töötamisel kõik vajalik.

Tööriistariba saab liigutada menüüriba kohal, klõpsates kolme halli punkti (tööriistariba alguses) ja lohistades selle menüüriba kohale.

Märkus. VB redaktoris on neli tööriistariba - standardne, silumis-, redigeerimis- ja kasutajavorm. See, mida näete ülaltoodud pildil (mis on ka vaikimisi), on tavaline tööriistariba. Teistele tööriistaribadele pääsete juurde, minnes suvandile Vaade ja hõljutades kursorit suvandi Tööriistaribad kohal. Soovi korral saate VB redaktorisse lisada ühe või mitu tööriistariba.

Projektiuurija

Project Explorer on aken vasakul, mis näitab kõiki praegu Excelis avatud objekte.

Kui töötate Exceli abil, on iga avatud töövihik või lisandmoodul projekt. Ja igal neist projektidest võib olla objektide kogu.

Näiteks alloleval pildil näitab Project Explorer kahte avatud töövihikut (1. raamat ja 2. raamat) ning iga töövihiku objekte (töölehed, ThisWorkbook ja Moodul 1. raamatus).

Objektidest vasakul on plussikoon, mida saate kasutada objektide loendi ahendamiseks või laiendamiseks ja objektide täieliku loendi vaatamiseks.

Järgmised objektid võivad olla Project Exploreri osa:

  1. Kõik avatud töövihikud - igas töövihikus (mida nimetatakse ka projektiks) saate omada järgmisi objekte:
    • Töölehe objekt töövihiku iga töölehe kohta
    • See töövihiku objekt mis esindab töövihikut ennast
    • Diagrammileht objekti iga diagrammilehe jaoks (need pole nii tavalised kui töölehed)
    • Moodulid - Siia läheb makrosalvestiga loodud kood. Siin saate ka VBA koodi kirjutada või kopeerida ja kleepida.
  2. Kõik avatud lisandmoodulid

Mõelge Project Explorerile kohaks, mis kirjeldab kõiki Excelis antud ajal avatud objekte.

Project Exploreri avamiseks on kiirklahv Control + R (hoidke juhtklahvi all ja seejärel vajutage R). Selle sulgemiseks klõpsake lihtsalt Project Exploreri akna paremas ülanurgas sulgemisikoonil.

Märkus. Iga Project Exploreri objekti jaoks on koodiaken, kuhu saate koodi kirjutada (või kuskilt kopeerida ja kleepida). Koodiaken ilmub, kui topeltklõpsate objektil.

Atribuutide aken

Atribuutide aknas näete valitud objekti atribuute. Kui teil pole veel atribuutide akent, saate selle hankida kiirklahvi F4 abil (või minge vahekaardile Vaade ja klõpsake nuppu Atribuudid).

Atribuutide aken on ujuvaken, mille saate dokkida VB redaktoris. Allolevas näites olen selle dokkinud projektijuhi alla.

Atribuutide aken võimaldab meil muuta valitud objekti omadusi. Näiteks kui tahan töölehe peidetud (või väga peidetud) muuta, saan seda teha, muutes valitud töölehe objekti nähtavat atribuuti.

Seotud: Exceli töölehe peitmine (seda ei saa hõlpsasti peita)

Koodiaken

Iga Project Exploreris loetletud objekti jaoks on koodiaken. Objekti koodiakna saate avada, topeltklõpsates seda Project Exploreri alal.

Koodiaken on koht, kuhu kirjutate oma koodi või kopeerige ja kleepige kood mujalt.

Makro salvestamisel läheb selle kood mooduli koodiaknasse. Excel lisab makro salvestamisel automaatselt mooduli koodi sisestamiseks.

Seotud: Kuidas käivitada Excelis makro (VBA -kood).

Kohene aken

Koodi silumisel kasutatakse enamasti akent Kohe. Üks viis, kuidas ma kohe akent kasutan, on koodis avalduse Print.Debug kasutamine ja seejärel koodi käivitamine.

See aitab mul koodi siluda ja määrata, kus minu kood kinni jääb. Kui saan kohe aknas Print.Debug tulemuse, tean, et kood töötas vähemalt selle reani.

Kui te pole VBA kodeerimisega kursis, võib silumiseks vahetu akna kasutamiseks kuluda natuke aega.

Vaikimisi pole vahetu aken VB redaktoris nähtav. Selle saate klahvikombinatsiooni Control + G abil (või võite minna vahekaardile Vaade ja klõpsata nupul „Kohene aken”).

Kuhu VB redaktoris koodi lisada

Loodan, et teil on nüüd põhiteadmised sellest, mis on VB Editor ja millised selle osad on.

Selle õpetuse selles jaotises näitan teile, kuhu Visual Basic Editoris VBA -koodi lisada.

Excelis saate VBA koodi lisada kahes kohas:

  1. Objekti koodi aken. Need objektid võivad olla töövihik, tööleht, kasutajavorm jne.
  2. Mooduli koodi aken.

Mooduli koodi aken Vs objekti koodi aken

Lubage mul kõigepealt kiiresti selgeks teha erinevus mooduli koodi lisamise ja objekti koodi aknas koodi lisamise vahel.

Kui lisate mõnele objektile koodi, sõltub see selle objekti mõnest toimingust, mis selle koodi käivitab. Näiteks kui soovite töövihiku kõik töölehed kohe pärast töövihiku avamist peita, kuvatakse kood objekti ThisWorkbook (mis tähistab töövihikut).

Päästik on sel juhul töövihiku avamine.

Samamoodi, kui soovite töölehte kaitsta kohe, kui mõni muu tööleht on aktiveeritud, läheks selle kood töölehe koodi aknasse.

Neid käivitajaid nimetatakse sündmusteks ja saate siduda koodi, mis käivitatakse sündmuse toimumisel.

Seotud: Lisateave sündmuste kohta VBA -s.

Vastupidi, mooduli kood tuleb täita kas käsitsi (või seda saab kutsuda ka teistest alamprogrammidest).

Makro salvestamisel loob Excel automaatselt mooduli ja lisab sinna salvestatud makrokoodi. Nüüd, kui peate selle koodi käivitama, peate makro käsitsi täitma.

VBA koodi lisamine moodulisse

Makro salvestamisel luuakse automaatselt moodul ja sisestatakse sinna kood, kuid makrosalvesti kasutamisel on teatud piirangud. Näiteks ei saa see kasutada silmuseid ega tingimusi If Then Else.

Sellistel juhtudel on parem kood kopeerida ja kleepida käsitsi või kirjutada kood ise.

Moodulit saab kasutada järgmist tüüpi VBA -koodide hoidmiseks:

  1. Deklaratsioonid: Saate moodulis deklareerida muutujaid. Muutujate deklareerimine võimaldab määrata, millist tüüpi andmeid muutuja mahutab. Muutuja saate deklareerida ainult alamrutiini või kõigi mooduli alamrutiinide (või kõigi moodulite) jaoks
  2. Alamprogrammid (protseduurid): See on kood, millel on sammud, mida soovite VBA -l täita.
  3. Funktsiooniprotseduurid: See on kood, mis tagastab ühe väärtuse ja saate seda kasutada kohandatud funktsioonide loomiseks (neid nimetatakse ka kasutaja määratud funktsioonideks või UDF -ideks VBA -s)

Vaikimisi pole moodul töövihiku osa. Enne selle kasutamist peate selle kõigepealt sisestama.

Mooduli lisamine VB redaktorisse

Mooduli lisamiseks toimige järgmiselt.

  1. Paremklõpsake töövihiku mis tahes objektil (milles soovite moodulit).
  2. Hõljutage kursorit valikul Lisa.
  3. Klõpsake moodulil.

See looks koheselt kausta nimega Moodul ja sisestaks objekti nimega Moodul 1. Kui teil on juba moodul sisestatud, sisestaksid ülaltoodud sammud teise mooduli.

Kui moodul on sisestatud, saate Project Exploreris mooduli objektil topeltklõpsata ja see avab selle jaoks akna.

Nüüd saate koodi kopeerida-kleepida või ise kirjutada.

Mooduli eemaldamine

Allpool on toodud sammud mooduli eemaldamiseks Excel VBA -s:

  1. Paremklõpsake moodulil, mille soovite eemaldada.
  2. Klõpsake suvandit Eemalda moodul.
  3. Avanevas dialoogiboksis klõpsake nuppu Ei.

Märkus. Mooduli saate enne selle eemaldamist eksportida. See salvestatakse .bas -failina ja saate selle mõnda muusse projekti importida. Mooduli eksportimiseks paremklõpsake moodulit ja klõpsake nuppu „Ekspordi fail”.

Koodi lisamine objekti koodi aknasse

Objekti koodiakna avamiseks topeltklõpsake seda.

Kui see avaneb, saate koodi käsitsi sisestada või kopeerida ja kleepida koodi teistest moodulitest või Internetist.

Pange tähele, et mõned objektid võimaldavad teil valida sündmuse, mille koodi soovite kirjutada.

Näiteks kui soovite kirjutada koodi, mis juhtub siis, kui valikut muudetakse töölehel, peate esmalt valima töölehed koodiakna vasakus ülanurgas olevast rippmenüüst ja seejärel valima rippmenüüst muutmise sündmuse -alla paremal.

Märkus. Need sündmused on objektile omased. Kui avate töövihiku koodiakna, näete töövihiku objektiga seotud sündmusi. Kui avate töölehe koodiakna, näete töölehe objektiga seotud sündmusi.

VB redaktori kohandamine

Kuigi Visual Basic Editori vaikeseaded on enamiku kasutajate jaoks piisavalt head, võimaldab see liidest ja mõningaid funktsioone veelgi kohandada.

Selles õpetuse osas näitan teile kõiki võimalusi, mis teil on VB redaktori kohandamisel.

VB Editori keskkonna kohandamiseks klõpsake menüüribal Tools ja seejärel Options.

See avab dialoogiboksi Valikud, mis annab teile kõik kohandamisvalikud VB redaktoris. Dialoogiboksis „Suvandid” on neli vahekaarti (nagu allpool näidatud), millel on Visual Basic Editori jaoks erinevad kohandamisvalikud.

Vaatame kiiresti läbi kõik need vahelehed ja nende olulised valikud.

Redaktori vahekaart

Kuigi sisseehitatud seaded töötavad enamikul juhtudel hästi, lubage mul siiski selle vahekaardi valikud läbi vaadata.

Kui olete Excelis VBA -ga töötades vilunud, võiksite mõnda neist valikutest kohandada VB -redaktorit.

Automaatne süntaksi kontroll

Excelis VBA-ga töötades tervitab teid kohe süntaksivea tegemisel hüpikdialoogiboks (koos vea kirjeldusega). Midagi, nagu allpool näidatud:

Kui keelate selle valiku, ei kuvata seda hüpikakent isegi siis, kui teete süntaksiviga. Kuid koodi tekstis muutuks värv, mis näitab, et tegemist on veaga.

Kui olete algaja, soovitan teil see valik sisse lülitada. Kui olete kodeerimisega rohkem kogenud, võite hakata neid hüpikakendeid ärritama ja seejärel selle valiku keelata.

Nõua muutuvat deklaratsiooni

See on üks võimalus, mida soovitan lubada.

VBA -ga töötades kasutaksite erinevat tüüpi andmetüüpide ja objektide hoidmiseks muutujaid.

Kui lubate selle valiku, lisab see koodiakna ülaossa automaatselt avalduse „Option Explicit”. See sunnib teid deklareerima kõik oma koodis kasutatavad muutujad. Kui te muutujat ei deklareeri ja proovite koodi käivitada, kuvatakse see tõrkena (nagu allpool näidatud).

Ülaltoodud juhul kasutasin muutujat Var, kuid ma ei deklareerinud seda. Nii et kui proovin koodi käivitada, näitab see viga.

See valik on üsna kasulik, kui teil on palju muutujaid. See aitab mul sageli leida valesti kirjutatud muutujate nimesid, kuna neid peetakse deklareerimata ja kuvatakse viga.

Märkus. Selle valiku lubamisel ei mõjuta see olemasolevaid mooduleid.

Automaatloendi liige

See suvand on üsna kasulik, kuna see aitab teil saada objekti meetodite omaduste loendi.

Näiteks kui ma tahan töölehe (Sheet1) kustutada, pean kasutama rida Sheet1.Delete.

Koodi tippimise ajal kuvatakse niipea, kui punkti sisestan, mulle kõik töölehe objektiga seotud meetodid ja omadused (nagu allpool näidatud).

Automaatloendi funktsioon on suurepärane, kuna see võimaldab teil:

  • Valige loendist kiiresti atribuut ja meetod ning säästke aega
  • Näitab kõiki omadusi ja meetodeid, mida te ei pruugi teada
  • Vältige õigekirjavigade tegemist

See suvand on vaikimisi lubatud ja soovitan seda nii hoida.

Automaatse kiire teabe valikud

Kui sisestate funktsiooni Exceli töölehele, näitab see funktsiooni kohta teavet, näiteks argumente.

Samamoodi, kui sisestate funktsiooni VBA -sse, kuvab see teile teatud teavet (nagu allpool näidatud). Kuid selleks, et see juhtuks, peate veenduma, et suvand Auto Quick Info on lubatud (mis on vaikimisi).

Automaatsete näpunäidete valikud

Kui lähete koodirealt realt läbi ja asetate kursori muutuja nime kohale, näitab see muutuja väärtust.

Ma leian, et see on üsna kasulik koodi silumisel või koodi rida -realt läbimisel, millel on silmuseid.

Ülaltoodud näites näitab see niipea, kui viin kursori muutuja (var) kohale, selle väärtust.

See suvand on vaikimisi lubatud ja soovitan teil seda ka hoida.

Automaatne taane

Kuna VBA -koodid võivad muutuda pikaks ja räpaseks, suurendab taande kasutamine koodi loetavust.

Koodi kirjutades saate tabeldusklahvi abil taande sisestada.

See suvand tagab, et kui olete taandejoonega lõpetanud ja vajutanud sisestusklahvi, ei alusta järgmine rida päris algusest, vaid sellel on sama taane kui eelmisel real.

Ülaltoodud näites algab pärast rida Debug.Print kirjutamist ja sisestusklahvi vajutamist see kohe selle all (sama taandetasemega).

Leian, et see valik on kasulik ja selle väljalülitamine tähendaks igale taandatud koodiploki reale käsitsi taandamist.

Soovi korral saate taande väärtust muuta. Hoian seda vaikeväärtusel.

Lohistage teksti redigeerimine

Kui see suvand on lubatud, võimaldab see valida koodiploki ja selle pukseerida.

See säästab aega, kuna te ei pea seda kõigepealt lõikama ja seejärel kleepima. Saate selle lihtsalt valida ja lohistada.

See suvand on vaikimisi lubatud ja soovitan teil seda ka hoida.

Vaikimisi täismoodulivaade

Kui see suvand on lubatud, näete kõiki mooduli protseduure ühes keritavas loendis.

Kui keelate selle valiku, näete korraga ainult ühte moodulit. Koodiakna paremas ülanurgas olevast rippmenüüst peate valima mooduli, mida soovite näha.

See suvand on vaikimisi lubatud ja soovitan seda nii hoida.

Üks põhjus, miks soovite selle keelata, kui teil on mitu tohutut protseduuri ja nende vahel kerimine võtab aega või kui teil on palju protseduure ja soovite selle kiiresti üles leida, selle asemel, et kerimisele aega raisata.

Protseduuri eraldaja

Kui see suvand on lubatud, näete kahe protseduuri vahel joont (omamoodi jagaja).

Minu arvates on see kasulik, kuna see näitab visuaalselt, millal üks protseduur lõpeb ja teine ​​algab.

See on vaikimisi lubatud ja soovitan seda nii hoida.

Redaktori vormingu vahekaart

Vahekaardi Redaktorivorming suvandite abil saate kohandada koodi välimust koodiaknas.

Isiklikult jätan kõik vaikesuvandid alles, kuna mul on kõik korras. Kui soovite, saate seda oma eelistuste järgi muuta.

Muudatuse tegemiseks peate esmalt valima kasti Koodivärvid suvandi. Kui suvand on valitud, saate selle esiplaani, tausta ja indikaatori värvi muuta.

Sellel vahekaardil saab määrata ka fondi tüübi ja fondi suuruse. Soovitatav on kasutada kindla laiusega fonti, näiteks Courier New, kuna see muudab koodi loetavamaks.

Pange tähele, et fonditüübi ja suuruse säte jääb kõigi kooditüüpide (st kõigi koodivärvide kastis näidatud kooditüüpide) puhul samaks.

Allpool on pilt, kus olen valinud katkestuspunkti ja saan selle vormindust muuta.

Märkus. Kui see on lubatud, kuvatakse veeriseindikaatoririba koodist vasakul veidi marginaaliriba. See on kasulik, kuna see näitab koodi täitmisel kasulikke näitajaid. Ülaltoodud näites, kui määrate katkestuspunkti, kuvatakse see veerise ribal joonest vasakul automaatselt punane punkt. Katkestuspunkti määramiseks võite klõpsata lihtsalt katkestuspunktina soovitud koodirea vasakul veerise ribal.

Vaikimisi on veerise indikaatoririba lubatud ja soovitan seda nii hoida.

Üks mu VBA kursuse õpilastest leidis, et need kohandamisvalikud on kasulikud ja ta oli värvipime. Siinseid valikuid kasutades sai ta määrata värvi ja vormingud, mis hõlbustasid tal VBA -ga töötamist.

Üldine vahekaart

Vahekaardil Üldine on palju valikuid, kuid te ei pea seda muutma.

Soovitan teil jätta kõik võimalused samaks.

Üks oluline valik, mida sellel vahekaardil teada saada, on vigade käsitlemine.

Vaikimisi on valitud „Break on Unhandled Errors” ja soovitan seda nii hoida.

See valik tähendab, et kui teie koodil ilmneb tõrge ja te pole seda viga oma koodis juba käsitlenud, siis see puruneb ja peatub. Aga kui olete vea lahendanud (näiteks kasutades suvandeid On Error Resume Next või On Error Goto), siis see ei purune (kuna vead ei ole käsitlemata).

Dokkimise vahekaart

Sellel vahekaardil saate määrata, millised aknad soovite dokkida.

Dokkimine tähendab, et saate akna (nt projektiuurija või atribuutide aken) positsiooni fikseerida nii, et see ei hõljuks ja saaksite vaadata kõiki erinevaid aknaid korraga.

Kui te ei doki, saate vaadata ühte akent korraga täisekraanirežiimis ja peate teisele aknale üle minema.

Soovitan vaikesätted alles jätta.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave