VBA - Odpiranje in uporaba urejevalnika Visual Basic (VBE) v Excelu

Ta vadnica vam bo pokazala, kako odpreti in programirati v urejevalniku Visual Basic v VBA.

Odpiranje urejevalnika Visual Basic

Dostop do urejevalnika Visual Basic (VBE) v Excelu je nekaj načinov.

Pritisnite Alt + F11 na tipkovnici.

ALI

Kliknite Pogled> Makri> Ogled makrov. Od tu lahko Uredi obstoječi makro oz Ustvari novo. Vsaka možnost odpre urejevalnik VB.

ALI

Razvijalec> Visual Basic

Opomba: Če ne vidite traku za razvijalce, ga morate omogočiti.

Omogočanje traku za razvijalce

Kliknite na mapa zavihek v traku in se pomaknite do Opcije. V Prilagodite trak možnosti, označite polje Razvijalec potrditveno polje. To je privzeto izklopljeno, zato ga boste morali vklopiti, če si želite ogledati zavihek na traku.

Kliknite v redu.

Na glavnem traku se prikaže zavihek Razvijalec. Za dostop do urejevalnika Visual Basic kliknite Visual Basic na začetku traku.

Razumevanje zaslona VBE

Zaslon VBE je prikazan na spodnji sliki.

Raziskovalec projektov

Project Explorer vam omogoča, da vidite, kako je projekt, v katerem delate, organiziran. Ogledate si lahko, koliko modulov in obrazcev je shranjenih v projektu, in lahko krmarite med temi moduli in obrazci. Modul je mesto, kjer je shranjena koda v vašem delovnem zvezku, ko posnamete makro, bo shranjena v standardnem modulu - ki bo privzeto imenovan 'Modul 1 '.

Vsak delovni list v datoteki Excel ima za seboj tudi modul, prav tako tudi sam delovni zvezek. Ko vstavite nov list v delovni zvezek prek glavnega zaslona Excel, boste v Raziskovalcu projektov videli dodaten modul lista.

Dvokliknite modul, da se premaknete na kodo tega modula.

Lahko tudi kliknete meni Window v orodni vrstici in tam izberete modul, da se premaknete na kodo tega modula.

Vrsta modulov

Moduli so organizirani v 5 različnih tipov.

  1. Standardni moduli - večina vaše kode bo šla v to vrsto modula. Ko posnamete makro, ga vstavite v standardni modul. Ko napišete splošen postopek, ki ga boste uporabili v delovnem zvezku, gre običajno tudi v standardni modul.
  2. Moduli delovnega zvezka - ta modul vsebuje kodo, ki je edinstvena za posamezni delovni zvezek. Večina kod v tovrstnih modulih je znanih kot DOGODKI. Dogodek se lahko zgodi, na primer pri odpiranju ali zapiranju delovnega zvezka. Modul lahko vsebuje tudi kodo, ki jo sami napišete in jo uporabljajo dogodki.
  3. Moduli listov - ta modul vsebuje kodo, ki je edinstvena za posamezni list. Lahko se pojavijo, ko na primer kliknete list ( Kliknite Dogodek) ali ko spremenite podatke v celici. Ta modul lahko vsebuje tudi kodo, ki jo sami napišete in jo pokličejo dogodki.
  4. Moduli obrazcev - to je modul za obrazec po meri, ki ga lahko ustvarite. Na primer, lahko ustvarite obrazec za shranjevanje podrobnosti računa, z gumbom V redu, koda za gumbom (dogodek klika) vsebuje kodo, ki se bo zagnala, ko kliknete gumb.
  5. Razredni moduli - ta modul se uporablja za ustvarjanje predmetov med izvajanjem. Modul razreda uporabljajo napredni programerji VBA in bo obravnavan kasneje.

Vstavljanje modula ali obrazca v kodo

Če želite v kodo vstaviti nov modul, kliknite na Vstavi možnost v menijski vrstici in kliknite Modul.

Ali pa kliknite na Vstavite modul gumb, ki ga najdete na standardnem traku.

Če želite v kodo vstaviti nov uporabniški obrazec, izberite Uporabniški obrazec možnost.

Nov obrazec za uporabnika se bo pojavil v Raziskovalec projektov in bo prikazano v oknu za kodo na desni.

Vstavite lahko tudi Modul razreda

Modul razreda se uporablja za vstavljanje predmetov v vaš projekt VBA.

Odstranitev modula ali obrazca iz raziskovalca projektov

Z desno tipko miške kliknite modul ali obrazec, ki ga želite odstraniti, da se prikaže meni z bližnjico z desnim klikom.

Kliknite Odstrani (v tem primeru Uporabniški obrazec 1… )

ALI

Kliknite na mapa meni, nato pa kliknite Odstrani (UserForm1).

Prikazalo se bo opozorilno polje, ki vas vpraša, ali želite izvoziti obrazec ali modul, preden ga odstranite. Izvoz obrazca ali modula vam omogoča, da ga shranite kot posamezno datoteko za uporabo v drugem Excelovem projektu kdaj drugič.

Pogosteje, ko odstranite modul ali obrazec, je to zato, ker ga ne potrebujete, zato kliknite Ne.

Okno lastnosti

Pod oknom boste videli okno lastnosti Raziskovalec projektov. To boste morda morali vklopiti.

Pritisnite F4 ali kliknite Pogled, Okno lastnosti.

Okno lastnosti vam omogoča ogled lastnosti določenega modula ali obrazca, ki je izbran v Raziskovalec projektov. Ko delate v modulih, lahko z oknom lastnosti spremenite ime modula. To je edina lastnost, ki je na voljo modulu. Ko pa delate z obrazci, bo na voljo veliko več lastnosti, okno Lastnosti pa se nato široko uporablja za nadzor obnašanja obrazcev in kontrol v obrazcu.

Ko posnamete makro, se samodejno vstavi v standardni modul. Modul se bo imenoval 'Modul 1 ' in vsa koda, ki jo vsebuje ta modul, je na voljo za uporabo v celotnem projektu. Modul bi morali preimenovati v nekaj pomembnega, kar bi olajšalo iskanje vaše kode, če bi projektu dodali več modulov.

Obrazce lahko tudi preimenujete.

Če ste preimenovali svoj list v Excelu, se bo ime lista prikazalo kot ime lista v oklepaju za Sheet1.

Če želite spremeniti ime modula za listom, ga lahko spremenite na enak način, kot spremenite ime modula in uporabniškega obrazca - tako, da spremenite lastnost Name v oknu Properties.

Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!

Okno kode

Okno za kodo prikazuje podprocedure in funkcije, ki jih vsebujejo vaši moduli - prikaže vam dejansko kodo. Ko posnamete makro, bo za vas ustvarjen podproces. Če v makro dodate tipko za bližnjico, se bo v makru prikazal kot komentar, ki vam bo povedal, kaj je tipka za bližnjico, ki ste jo dodelili makru.

Na vrhu okna za kodo sta dve kombinirani polji. Ti vam omogočajo, da vidite, kateri predmet (če sploh) v modulu, na katerem delate, in kateri postopek morda delate.

V zgornjem primeru ne delamo na nobenem objektu - zato je to nastavljeno na splošno, vendar delamo v okviru postopka Gridlines.

Če bi imeli v tem modulu več kot en postopek, bi lahko za krmarjenje do drugih postopkov uporabili zgornje kombinirano polje.

Razumevanje Kodeksa

Obstajata dve vrsti postopkov - Pod postopki in Postopki delovanja.

Pod postopki

Makro snemalnik lahko snema samo pomožne postopke. Sub postopek naredi nekaj. Izvajajo dejanja, na primer oblikovanje tabele ali ustvarjanje vrtilne tabele, ali v primeru mrežne črte spreminjanje nastavitev pogleda vašega aktivnega okna. Večina napisanih postopkov je podprocedura. Vsi makri so podprocedure.

Podproces se začne z a Pod izjavo in se konča z End Sub izjavo. Ime postopka vedno sledijo oklepaji.

123 Sub HideGridLines ()ActiveWindow.DisplayGridlines = FalseEnd Sub

Postopki delovanja

Postopek funkcije vrne vrednost. Ta vrednost je lahko ena vrednost, matrika, obseg celic ali predmet. Funkcije običajno izvajajo določeno vrsto izračuna. Funkcije v Excelu lahko uporabite s čarovnikom za funkcije ali pa jih pokličete iz podprocedurov.

123 Funkcija Kilos (funtov kot dvojno)Kilo = (funtov/2,2)Končana funkcija

To funkcijo lahko uporabite v pogovornem oknu Vstavi funkcijo v Excelu za pretvorbo funtov v kilograme.

Oblikovanje novega postopka

Preden ustvarite nov postopek, se prepričajte, da ste v modulu, v katerem želite shraniti postopek. Nov postopek lahko ustvarite s klikom na meni Vstavi, Postopek;

ali pa kliknete ikono v orodni vrstici

Prikaže se naslednje pogovorno okno

  1. V polje za ime vnesite ime svojega novega postopka - ta se mora začeti s črko abecede in lahko vsebuje črke in številko ter lahko vsebuje največ 64 znakov.
  2. Lahko imate a Podproces, a Postopek delovanja ali a Lastnina postopku. (Lastnosti se uporabljajo v modulih razreda in nastavijo lastnosti za kontrolnike ActiveX, ki ste jih morda ustvarili).
  3. Lahko določite tudi obseg postopka Javno ali Zasebno. Če je postopek javen (privzeto), ga lahko uporabljajo vsi moduli v projektu, če pa je postopek zaseben, ga bo lahko uporabljal le ta modul.
  4. Lokalne spremenljivke v tem postopku lahko razglasite kot statiko (to je povezano s področjem uporabe spremenljivke in spremenljivko na ravni lokalnega postopka objavi celotnemu modulu). Te možnosti ne bomo uporabljali.

Ko izpolnite vse ustrezne podatke, kliknite na v redu.

Nato vnesete kodo med stavki Sub in End Sub.

ALTERNATIVNO - v svoj modul lahko vnesete stavke Sub in End Sub, tako kot je prikazano zgoraj. Pred besedo sub vam ni treba postaviti besede Public - če je ta beseda izpuščena, se samodejno predpostavlja, da so vsi postopki v modulu javni.

Potem tipkate Pod in nato ime vašega postopka, ki mu sledijo oklepaji.

tj:

1 Pod test ()

The End Sub izjava se bo samodejno prikazala.

Programiranje VBA | Generator kod deluje za vas!

Pisanje kode, ki je enostavna za razumevanje in navigacijo

Dodajanje komentarjev

Navadite si, da v kodo vnašate komentarje, da se pozneje spomnite na funkcionalnost kode.

V kodo lahko vstavite komentar, vendar na tipkovnico vnesete apostrof ali pa vklopite orodno vrstico Urejanje in uporabite gumb za komentar, ki se prikaže v tej orodni vrstici.

Z desno miškino tipko kliknite orodne vrstice.

Izberite Uredi.

Kliknite gumb za komentar, da v svojo kodo vstavite komentar.

OPOMBA: Gumb za blokiranje komentarjev običajno uporabite le, če imate nekaj vrstic kode, ki jih želite komentirati (in ne izbrisati). Za en sam komentar je lažje uporabiti apostrof.

Zamik

Dobra navada, ki si jo morate privoščiti, je, da kodo zamikate, kar olajša branje kode in ogled različnih delov kode.

Odvisno od logike kode je lahko veliko ravni zamikanja.

UpperCase vs LowerCase

VBA prilagodi vso kodo pravilnim črkam, tako da bo, če vnesete VSE Z VELIKIMI VELIKIMI črkami ali vse z malimi črkami, kodo znova prilagodila pravilni uporabi!

Programiranje VBA | Generator kod deluje za vas!

Samodejno dokončanje

Ko prilagodite kodo, boste opazili, da vam VBA skuša predlagati kodo, ki jo lahko vnesete. To je znano kot samodejno dokončanje.

Napake pri prestrezanju in odpravljanju napak

Ko pišete kodo VBA, se lahko pojavijo 4 vrste napak - napake v sintaksi, napake pri sestavljanju, napake med izvajanjem in logične napake.

Napake v sintaksi

To se zgodi, če kodo napačno napišete. VBA to v veliki meri prepreči, če je vklopljena možnost preverjanja skladnje. To je običajno privzeto vklopljeno, če pa je izklopljeno, ga vklopite tako, da greste na Orodja, Opcije in kliknite Samodejno preverjanje skladnje.

Če kodo vnesete napačno (na primer izključite nekaj, kar bi moralo biti v kodi), se med pisanjem kode prikaže okno s sporočilom, ki vam daje možnost, da kodo spremenite.

Napake pri sestavljanju

To se zgodi, ko v kodi manjka nekaj, kar preprečuje izvajanje kode. Napaka se ne pojavi, ko pišete kodo, vendar se pojavi, ko poskusite zagnati kodo.

Programiranje VBA | Generator kod deluje za vas!

Napake med izvajanjem

Te se pojavijo, ko zaženete kodo in sta skladnja in kompilacija pravilni, vendar se zgodi nekaj drugega, da prepreči pravilno delovanje kode.

V tem primeru Sheet4 ne obstaja. To sporočilo o napaki je bolj uporabno od sporočil o napakah pri sestavljanju, saj vam daje možnost, da odpravite napako kode in preverite, zakaj ne deluje.

Kliknite Odpravljanje napak. Koda se bo ob napaki ustavila in napako označila rumeno, kar vam bo omogočilo, da odpravite napako.

Spremenite list 4 v list 2 (ker list 2 obstaja in list 4 ne obstaja).

Pritisnite F5 ali kliknite na Nadaljuj gumb v orodni vrstici.

Logične napake

Te je najtežje najti. V njihovem primeru je koda napisana pravilno, vendar je dejanska logika kode pomanjkljiva, zato iz kode morda ne boste dobili želenega rezultata. Pri logičnih napakah je ujemanje napak bistveno.

Obstajata 2 vrsti pasti napak

Pri napaki Pojdi na

Naslednja koda odpre pogovorno okno File Open File - če uporabnik klikne, se nam prikaže napaka Prekliči.

Ko zaženete kodo, se prikaže pogovorno okno File Open.

Ko nato kliknete preklic, bo prišlo do napake.

Naslednja ujemanje napak bo nadaljevalo kodo do funkcije za izhod kode in sporočilo o vrnitvi.

Tako uporabite funkcijo On Error GoTo za izhod iz funkcije.

Ko zaženete kodo in kliknete preklic, se prikaže okno s sporočilom.

On Napaka Nadaljuj Naprej

Če postavite On Napaka Nadaljuj Naprej Izjava v vaši kodi, vrstica, ki vsebuje napako, bo prezrta in koda se bo nadaljevala.

Na primer, če uporabnik v spodnji kodi klikne Prekliči, vam koda ne bo povzročila napake med izvajanjem, ampak se bo končala, ne da bi koda naredila kaj več.

Včasih je to zelo koristno, v nekaterih okoliščinah pa je lahko tudi zelo nevarno, saj ne vrne sporočila, zakaj ste prišli do napake.

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

wave wave wave wave wave