VBA - Otvaranje i korištenje uređivača Visual Basic (VBE) u Excelu

Ovaj će vam vodič pokazati kako otvoriti i programirati u Visual Basic Editor -u u VBA -i.

Otvaranje uređivača Visual Basic

Postoji nekoliko načina za pristup uređivaču Visual Basic (VBE) u Excelu.

Pritisnite Alt + F11 na tipkovnici.

ILI

Klik Prikaz> Makronaredbe> Prikaz makronaredbi. Odavde možete Uredi postojeći makro ili Stvoriti novi. Obje opcije otvaraju VB Editor.

ILI

Programer> Visual Basic

Napomena: Ako ne vidite vrpcu za razvojne programere, morat ćete je omogućiti.

Omogućavanje vrpce za razvojne programere

Klikni na Datoteka karticu na vrpci i spustite se na Opcije. U Prilagodite vrpcu opcije, označite Programer potvrdni okvir. Ovo je prema zadanim postavkama isključeno pa ćete ga morati uključiti da biste vidjeli karticu na vrpci.

Klik u redu.

Kartica Developer pojavit će se na glavnoj vrpci. Pritisnite Visual Basic na početku vrpce za pristup uređivaču Visual Basic.

Razumijevanje VBE zaslona

VBE zaslon prikazan je na donjoj slici.

Istraživač projekta

Project Explorer omogućuje vam da vidite kako je projekt u kojem radite organiziran. Možete vidjeti koliko je modula i obrazaca pohranjeno u projektu te se možete kretati između ovih modula i obrazaca. Modul je mjesto gdje se pohranjuje kôd u vašoj radnoj knjizi, a kad snimite makro, bit će pohranjen u standardni modul - koji će se prema zadanim postavkama zvati "Modul 1 '.

Svaki radni list u Excel datoteci također ima modul iza sebe, kao i sama radna knjiga. Kad umetnete novi list u radnu knjigu putem glavnog zaslona programa Excel, vidjet ćete da se dodatni modul lista pojavljuje u Project Exploreru.

Dvaput kliknite na modul da biste prešli na kôd za taj modul.

Također možete kliknuti izbornik Window na alatnoj traci i tamo odabrati modul za prelazak na kôd za taj modul.

Vrsta modula

Moduli su organizirani u 5 različitih tipova.

  1. Standardni moduli - većina vašeg koda ići će u ovu vrstu modula. Kad snimite makro, on se stavlja u standardni modul. Kada napišete opći postupak koji će se koristiti u radnoj knjizi, on također obično ulazi u standardni modul.
  2. Moduli radne bilježnice - ovaj modul sadrži kôd koji je jedinstven za tu pojedinačnu radnu knjigu. Većina koda u ovoj vrsti modula poznata je pod imenom DOGAĐAJI. Događaj se može dogoditi kada se radna knjiga otvori ili zatvori, na primjer. Modul može sadržavati i kôd koji ste sami napisali i koristili događaji.
  3. Moduli listova - ovaj modul sadrži kôd koji je jedinstven za taj pojedinačni list. Do njih može doći, na primjer, klikom na list ( Pritisnite Događaj) ili kada promijenite podatke u ćeliji. Ovaj modul također može sadržavati kôd koji ste sami napisali i pozvali Događaji.
  4. Moduli obrazaca - ovo je modul iza prilagođenog obrasca koji možete stvoriti. Na primjer, možete stvoriti obrazac za pohranu pojedinosti o fakturi, s gumbom OK, kôd iza gumba (Događaj klika) sadrži kôd koji će se pokrenuti kada se klikne na gumb.
  5. Moduli razreda - ovaj modul se koristi za stvaranje objekata tijekom izvođenja. Modul razreda koriste napredni VBA programeri i bit će obrađen kasnije.

Umetanje modula ili obrasca u vaš kôd

Da biste umetnuli novi modul u svoj kôd, kliknite na Umetnuti opciju na traci izbornika i kliknite Modul.

Ili kliknite na Umetnite modul gumb koji ćete pronaći na standardnoj vrpci.

Da biste umetnuli novi korisnički obrazac u svoj kôd, odaberite Korisnički obrazac opcija.

Novi korisnički obrazac pojavit će se u Istraživač projekta i bit će prikazano u prozoru koda s desne strane.

Također možete umetnuti a Modul klase

Modul klase koristi se za umetanje objekata u vaš VBA projekt.

Uklanjanje modula ili obrasca iz Project Explorera

Desnom tipkom miša kliknite modul ili obrazac koji želite ukloniti da biste prikazali izbornik prečaca desnom tipkom miša.

Klik Ukloniti (u ovom slučaju Korisnički obrazac1… )

ILI

Klikni na Datoteka izbornika, a zatim kliknite na Ukloni (UserForm1).

Pojavit će se okvir s upozorenjem s pitanjem želite li izvesti obrazac ili modul prije nego što ga uklonite. Izvoz obrasca ili modula omogućuje vam spremanje kao zasebne datoteke za uporabu u nekom drugom Excel projektu u neko drugo vrijeme.

Češće kad ne uklanjate modul ili obrazac, to je zato što vam ne treba, pa kliknite Ne.

Prozor Svojstva

Vidjet ćete prozor svojstava ispod Istraživač projekta. Možda ćete ovo morati uključiti.

Pritisnite F4 ili kliknite Pogled, Prozor svojstava.

Prozor svojstava omogućuje vam da vidite svojstva za određeni modul ili obrazac koji je odabran u Istraživač projekta. Kada radite u modulima, pomoću prozora svojstava možete promijeniti naziv modula. Ovo je jedino svojstvo dostupno modulu. Međutim, kada radite s obrascima, bit će na raspolaganju mnogo više svojstava, a prozor Svojstva tada se opsežno koristi za kontrolu ponašanja obrazaca i kontrola sadržanih u obrascu.

Kada snimite makronaredbu, ona se automatski stavlja u standardni modul. Modul će se zvati 'Modul 1 ' i bilo koji kôd koji se nalazi u tom modulu dostupan je za upotrebu tijekom cijelog projekta. Morate preimenovati svoj modul u nešto značajno, što bi olakšalo pronalaženje vašeg koda ako biste projektu dodali više modula.

Također možete preimenovati svoje obrasce.

Ako ste preimenovali svoj list u Excelu, naziv lista prikazat će se kao naziv lista u zagradama nakon Sheet1.

Ako želite promijeniti naziv modula iza lista, možete ga promijeniti na isti način na koji promijenite naziv modula i korisničkog obrasca - promjenom svojstva Name u prozoru Svojstva.

Umorni ste od traženja primjera VBA koda? Isprobajte AutoMacro!

Prozor koda

Prozor koda prikazuje vam podpostupke i funkcije sadržane u vašim modulima - prikazuje vam stvarni kod. Kad snimite makronaredbu, za vas će se stvoriti podpostupak. Ako makronaredbi dodate tipku prečaca, ona će se prikazati kao komentar u makronaredbi kako bi vas obavijestila koja je tipka prečice dodijeljena makronaredbi.

Na vrhu prozora koda nalaze se dva kombinirana okvira. Oni vam omogućuju da vidite na kojem objektu (ako postoji) unutar Modula na kojem radite i na kojem ćete postupku raditi.

U gornjem primjeru ne radimo na bilo kojem objektu - stoga je ovo postavljeno na općenito, ali radimo unutar procedure Gridlines.

Da imamo više od jednog postupka u ovom modulu, mogli bismo upotrijebiti gornji kombinirani okvir za navigaciju do ostalih postupaka.

Razumijevanje Kodeksa

Postoje 2 vrste postupaka - Podpostupci i Postupci funkcija.

Podpostupci

Makro rekorder može snimati samo podpostupke. Sub procedura čini stvari. Oni izvode radnje poput oblikovanja tablice ili stvaranja zaokretne tablice ili u primjeru rešetke mijenjaju postavke prikaza vašeg aktivnog prozora. Većina napisanih postupaka su podprocedure. Svi makronaredbe su podprocedure.

Podpostupak počinje s a Pod izjava i završava s Kraj podm izjava. Uz naziv postupka uvijek slijede zagrade.

123 Sub HideGridLines ()ActiveWindow.DisplayGridlines = NetačnoKraj podm

Postupci rada

Postupak funkcije vraća vrijednost. Ova vrijednost može biti jedna vrijednost, niz, raspon ćelija ili objekt. Funkcije obično izvode neku vrstu izračuna. Funkcije u Excelu mogu se koristiti s čarobnjakom funkcija ili ih se može pozvati iz potprocedura.

123 Funkcija kilograma (funti kao dvostruko)Kilogrami = (funti/2,2)Završna funkcija

Ova se funkcija može koristiti u dijaloškom okviru Umetni funkciju u Excelu za pretvaranje funti u kilograme.

Izrada nove procedure

Prije nego kreirate svoj novi postupak, provjerite jeste li u modulu u koji želite pohraniti postupak. Novi postupak možete stvoriti klikom na izbornik Umetanje, Postupak;

ili možete kliknuti ikonu na alatnoj traci

Pojavit će se sljedeći dijaloški okvir

  1. Upišite naziv svog novog postupka u okvir s imenom - ovo mora započeti slovom abecede i može sadržavati slova i broj te biti maksimalno 64 znaka.
  2. Možete imati a Podpostupak, a Postupak funkcije ili a Imovina postupak. (Svojstva se koriste u modulima Class i postavljaju svojstva za ActiveX kontrole koje ste možda stvorili).
  3. Također možete odrediti opseg postupka Javnost ili Privatna. Ako je postupak javan (zadano), tada ga mogu koristiti svi moduli u projektu, a ako je postupak privatan, moći će ga koristiti samo ovaj modul.
  4. Lokalne varijable u ovom postupku možete proglasiti kao statiku (to se odnosi na Opseg varijable i čini varijablu lokalne razine procedure javnom za cijeli modul). Ovu opciju nećemo koristiti.

Kada ispunite sve relevantne podatke, kliknite na u redu.

Zatim upisujete kôd između naredbi Sub i End Sub.

ALTERNATIVNO - možete upisati Sub i End Sub naredbe u svoj modul točno onako kako je gore prikazano. Ne morate stavljati riječ Public ispred riječi sub - ako je ova riječ izostavljena, automatski se pretpostavlja da su svi postupci u modulu javni.

Zatim upišete Pod a zatim naziv vašeg postupka slijedi zagrada.

tj .:

1 Pod test ()

The Kraj podm izjava će se pojaviti automatski.

VBA programiranje | Generator koda radi za vas!

Pisanje koda koji je jednostavan za razumijevanje i navigaciju

Dodavanje komentara

Steknite naviku stavljanja komentara u svoj kôd kako biste se kasnije podsjetili na funkcionalnost koda.

Možete unijeti komentar u svoj kôd, ali upišite apostrof na tipkovnici ili se možete uključiti na alatnoj traci Uređivanje i upotrijebiti gumb za komentar koji se prikazuje na toj alatnoj traci.

Desnom tipkom miša kliknite trake s alatima.

Odaberi Uredi.

Pritisnite gumb komentara da biste umetnuli komentar u svoj kôd.

BILJEŠKA: Gumb za blokiranje komentara obično koristite samo ako imate nekoliko redaka koda koje želite komentirati (a ne izbrisati). Lakše je za jedan komentar upotrijebiti apostrof.

Uvlačenje

Dobra navika za stjecanje je uvlačenje koda kako biste ga lako pročitali i vidjeli različite dijelove koda.

Ovisno o logici vašeg koda, može postojati mnogo razina uvlačenja.

UpperCase vs LowerCase

VBA prilagođava sav kôd pravilnom pismu, pa ako upišete SVE U VELIKIM SLOVIMA ili sve u malim slovima, ponovno će prilagoditi vaš kôd kako bi bio u ispravnom pismu!

VBA programiranje | Generator koda radi za vas!

Automatsko dovršavanje

Kad prilagodite kôd, primijetit ćete da vam VBA pokušava pomoći predlažući kôd koji možete upisati. To je poznato kao automatsko dovršavanje.

Pogreška pri hvatanju i otklanjanju pogrešaka

Postoje četiri vrste pogrešaka koje se mogu pojaviti pri pisanju VBA koda - greške u sintaksi, pogreške pri sastavljanju, pogreške tijekom izvođenja i logičke pogreške.

Sintaksičke greške

To se događa kada krivo napišete kôd. VBA to uvelike sprječava uključivanjem opcije provjere sintakse. Ovo je obično uključeno prema zadanim postavkama, ali ako je vaše isključeno, uključite ga tako da odete na Alati, Opcije i kliknite Automatska provjera sintakse.

Ako kôd upišete pogrešno (na primjer, isključujući nešto što bi trebalo biti u kodu), tijekom pisanja koda pojavit će se okvir s porukom koji vam daje mogućnost izmjene koda.

Pogreške pri sastavljanju

To se događa kada u kodu nedostaje nešto što sprječava pokretanje koda. Pogreška se ne pojavljuje prilikom pisanja koda, ali se javlja kada pokušate pokrenuti kôd.

VBA programiranje | Generator koda radi za vas!

Pogreške tijekom izvođenja

To se događa kada pokrenete kôd, a sintaksa i kompilacija su točni, ali događa se nešto drugo kako bi spriječilo pravilno funkcioniranje koda.

U ovom slučaju Sheet4 ne postoji. Ova je poruka o pogrešci korisnija od poruka o pogrešci pri prevođenju jer vam daje priliku da otklonite pogreške u kodu i vidite zašto ne radi.

Klik Otklanjanje pogrešaka. Kôd će se zaustaviti na pogrešci i označiti grešku žutom bojom što vam omogućuje da ispravite svoju pogrešku.

Izmijenite List 4 u List 2 (jer List 2 postoji, a List 4 ne postoji).

Pritisnite F5 ili kliknite na Nastaviti gumb na alatnoj traci.

Logičke pogreške

Ove je najteže pronaći. U njihovom slučaju, kôd je ispravno napisan, ali stvarna logika koda je pogrešna, pa možda nećete dobiti rezultat koji želite od koda. Za logičke pogreške hvatanje grešaka je bitno.

Postoje 2 vrste zamki grešaka

Uključeno Greška Idi na

Sljedeći kôd treba otvoriti dijaloški okvir File Open File - prikazat će nam grešku ako korisnik klikne Otkazati.

Kada pokrenete kôd, pojavljuje se dijaloški okvir Otvaranje datoteke.

Kada pritisnete odustani, pojavit će se pogreška.

Sljedeća zamka grešaka nastavit će kôd do funkcije izlaza koda i povratne poruke.

Ovo koristi On Error GoTo za izlaz iz funkcije.

Kada pokrenete kôd i kliknete otkaži, pojavit će se okvir s porukom.

Uključeno Slijedi nastavak greške

Ako stavite Uključeno Slijedi nastavak greške Izjava u vašem kodu, redak koji sadrži pogrešku zanemarit će se i kôd će se nastaviti.

Na primjer, ako korisnik klikne Odustani u donjem kodu, kôd vam neće dati pogrešku tijekom izvođenja, samo će završiti, a da kôd ne učini ništa dalje.

Ponekad je ovo vrlo korisno, ali u nekim okolnostima može biti i vrlo opasno jer ne vraća poruku zašto ste dobili pogrešku.

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

wave wave wave wave wave