VBA - „Visual Basic“ redaktoriaus (VBE) atidarymas ir naudojimas „Excel“

Ši pamoka parodys, kaip atidaryti ir programuoti „Visual Basic“ redaktoriuje VBA.

„Visual Basic“ redaktoriaus atidarymas

Yra keli būdai pasiekti „Visual Basic“ redaktorių (VBE) „Excel“.

Paspauskite Alt + F11 klaviatūroje.

ARBA

Spustelėkite Rodinys> Makrokomandos> Žiūrėti makrokomandas. Iš čia galite Redaguoti esamą makrokomandą arba Sukurti naujas. Bet kuri parinktis atveria VB redaktorių.

ARBA

Kūrėjas> „Visual Basic“

Pastaba: jei nematote kūrėjo juostelės, turėsite ją įgalinti.

Norėdami įgalinti kūrėjo juostelę

Spustelėkite Failas juostelės skirtuką ir eikite žemyn į Galimybės. Viduje konors Tinkinti juostelę parinktis, pažymėkite Programuotojas žymimasis langelis. Tai išjungta pagal numatytuosius nustatymus, todėl turėsite jį įjungti, kad pamatytumėte juostos skirtuką.

Spustelėkite Gerai.

Skirtukas „Kūrėjas“ bus rodomas pagrindinėje juostelėje. Norėdami pasiekti „Visual Basic“ redaktorių, juostos pradžioje spustelėkite „Visual Basic“.

VBE ekrano supratimas

VBE ekranas parodytas žemiau esančioje grafikoje.

Projektų tyrinėtojas

„Project Explorer“ leidžia pamatyti, kaip organizuojamas projektas, kuriame dirbate. Galite pamatyti, kiek modulių ir formų yra saugoma projekte, ir naršyti tarp šių modulių ir formų. Modulis yra jūsų darbaknygės kodas, kai įrašote makrokomandą, jis bus saugomas standartiniame modulyje, kuris pagal nutylėjimą bus pavadintas „1 modulis.

Kiekviename „Excel“ failo darbalapyje taip pat yra modulis, kaip ir pati darbaknygė. Kai įterpiate naują lapą į darbaknygę per pagrindinį „Excel“ ekraną, „Project Explorer“ pamatysite papildomą lapo modulį.

Dukart spustelėkite modulį, kad pereitumėte prie to modulio kodo.

Taip pat galite spustelėti meniu Langas įrankių juostoje ir ten pasirinkti modulį, kad pereitumėte prie to modulio kodo.

Modulių tipas

Moduliai yra suskirstyti į 5 skirtingus tipus.

  1. Standartiniai moduliai - didžioji jūsų kodo dalis bus įtraukta į tokio tipo modulius. Kai įrašote makrokomandą, ji įtraukiama į standartinį modulį. Kai rašote bendrą darbo knygoje naudojamą procedūrą, ji taip pat paprastai patenka į standartinį modulį.
  2. Darbo knygos moduliai - šis modulis turi kodą, kuris yra unikalus konkrečiai darbo knygai. Dauguma šio tipo modulių kodų yra žinomi kaip RENGINIAI. Įvykis gali įvykti, pavyzdžiui, atidarius ar uždarius darbaknygę. Modulis taip pat gali turėti kodą, kurį parašėte patys ir naudojate įvykiams.
  3. Lakštų moduliai - šiame modulyje yra unikalus to lapo kodas. Jie gali atsirasti, pavyzdžiui, spustelėjus lapą ( Spustelėkite Įvykis) arba kai keičiate langelio duomenis. Šis modulis taip pat gali turėti kodą, kurį parašėte patys ir iškvietėte įvykiais.
  4. Formų moduliai - tai yra modulis, kurį sudaro pasirinkta forma, kurią galite sukurti. Pavyzdžiui, galite sukurti formą, kurioje būtų saugoma išsami sąskaitos faktūros informacija, paspausdami mygtuką Gerai, už mygtuko esančiame kode (paspaudimo įvykis) yra kodas, kuris bus paleistas spustelėjus mygtuką.
  5. Klasės moduliai - šis modulis naudojamas objektams kurti vykdymo metu. Klasės modulį naudoja pažangūs VBA programuotojai ir jis bus aptartas vėliau.

Modulio ar formos įterpimas į kodą

Norėdami į savo kodą įterpti naują modulį, spustelėkite Įdėti parinktį meniu juostoje ir spustelėkite Modulis.

Arba spustelėkite Įdėkite modulį mygtuką, kurį rasite standartinėje juostelėje.

Norėdami į savo kodą įterpti naują vartotojo formą, pasirinkite UserForm variantas.

Ekrane pasirodys nauja vartotojo forma Projektų tyrinėtojas ir bus rodomas dešinėje esančiame kodo lange.

Taip pat galite įterpti a Klasės modulis

Klasės modulis naudojamas objektams įterpti į jūsų VBA projektą.

Modulio ar formos pašalinimas iš „Project Explorer“

Dešiniuoju pelės mygtuku spustelėkite modulį ar formą, kurią norite pašalinti, kad būtų rodomas dešiniojo pelės mygtuko paspaudimo meniu.

Spustelėkite Pašalinti (tokiu atveju Vartotojo forma1… )

ARBA

Spustelėkite Failas meniu, tada spustelėkite Pašalinti (UserForm1).

Pasirodys įspėjamasis langas, kuriame bus klausiama, ar norite eksportuoti formą ar modulį prieš jį pašalindami. Eksportuodami formą ar modulį galite išsaugoti ją kaip atskirą failą, kad galėtumėte jį naudoti kitame „Excel“ projekte.

Dažniausiai pašalindami modulį arba suformuodami jį, nes jums jo nereikia, todėl spustelėkite Ne.

Ypatybių langas

Žemiau pamatysite ypatybių langą Projektų tyrinėtojas. Gali tekti tai įjungti.

Paspauskite F4 arba spustelėkite Peržiūrėti, Ypatybių langas.

Ypatybių langas leidžia matyti konkretaus modulio ar formos ypatybes, pasirinktas Projektų tyrinėtojas. Kai dirbate su moduliais, galite naudoti ypatybių langą, kad pakeistumėte modulio pavadinimą. Tai vienintelė modulio galimybė. Tačiau kai dirbate su formomis, bus pasiekiama daug daugiau ypatybių, o ypatybių langas bus plačiai naudojamas formų veikimui ir formoje esančioms valdikliams kontroliuoti.

Kai įrašote makrokomandą, ji automatiškai įtraukiama į standartinį modulį. Modulis vadinsis „1 modulis ir bet koks tame modulyje esantis kodas gali būti naudojamas viso projekto metu. Turėtumėte pervadinti savo modulį į kažką reikšmingo, kad būtų lengviau rasti jūsų kodą, jei prie projekto pridėtumėte kelis modulius.

Taip pat galite pervadinti savo formas.

Jei pervadinote savo lapą „Excel“, lapo pavadinimas bus rodomas kaip lapo pavadinimas skliausteliuose po „Sheet1“.

Jei norite pakeisti modulio, esančio už lapo, pavadinimą, galite jį pakeisti taip pat, kaip keičiate modulio ir vartotojo formos pavadinimą - keisdami ypatybę Name ypatybę lange.

Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!

Kodo langas

Kodo lange rodomos jūsų moduliuose esančios papildomos procedūros ir funkcijos - rodomas tikrasis kodas. Kai įrašysite makrokomandą, jums bus sukurta antrinė procedūra. Jei prie makrokomandos pridėsite sparčiojo klavišo klavišą, jis bus rodomas kaip makrokomandos komentaras, nurodantis, kas yra spartusis klavišas, kurį priskyrėte makrokomandai.

Kodo lango viršuje yra du kombinuotieji langeliai. Tai leidžia jums pamatyti, kurį objektą (jei yra) modulyje, prie kurio galbūt dirbate, ir kokią procedūrą dirbate.

Anksčiau pateiktame pavyzdyje mes nedirbame su jokiu objektu - taigi tai nustatyta kaip bendra, bet dirbame pagal „Gridlines“ procedūrą.

Jei šiame modulyje turėtume daugiau nei vieną procedūrą, norėdami pereiti prie kitų procedūrų, galėtume naudoti aukščiau esantį kombinuotąjį laukelį.

Kodekso supratimas

Yra 2 procedūrų rūšys - Papildomos procedūros ir Funkcijų procedūros.

Papildomos procedūros

Makro įrašymo įrenginys gali įrašyti tik papildomas procedūras. Sub procedūra daro viską. Jie atlieka tokius veiksmus kaip lentelės formatavimas arba sukamosios lentelės sukūrimas arba tinklelio pavyzdyje keičia aktyvaus lango rodinio nustatymus. Dauguma rašytinių procedūrų yra papildomos procedūros. Visos makrokomandos yra papildomos procedūros.

Papildoma procedūra prasideda a Sub teiginys ir baigiasi an Pabaiga Sub pareiškimas. Po procedūros pavadinimo visada pateikiami skliausteliai.

123 Sub HideGridLines ()ActiveWindow.DisplayGridlines = NetiesaPabaiga Sub

Funkcijų procedūros

Funkcijos procedūra grąžina reikšmę. Ši vertė gali būti viena reikšmė, masyvas, langelių diapazonas arba objektas. Funkcijos paprastai atlieka tam tikro tipo skaičiavimus. „Excel“ funkcijas galima naudoti su funkcijų vedliu arba jas galima iškviesti iš antrinių procedūrų.

123 Funkcija Kilos (svarai kaip dvigubas)Kilogramų = (svarų/2,2)Pabaigos funkcija

Šią funkciją galima naudoti „Excel“ dialogo lange Įterpti funkciją, norint konvertuoti svarus į kilogramus.

Naujos tvarkos kūrimas

Prieš kurdami naują procedūrą įsitikinkite, kad esate tame modulyje, kuriame norite išsaugoti procedūrą. Galite sukurti naują procedūrą spustelėdami meniu Įterpti, Procedūra;

arba galite spustelėti piktogramą įrankių juostoje

Bus parodytas toks dialogo langas

  1. Pavadinimo laukelyje įveskite naujos procedūros pavadinimą - tai turi prasidėti abėcėlės raide, gali būti raidžių ir skaičių ir ne daugiau kaip 64 simbolių.
  2. Jūs galite turėti a Sub procedūra, a Funkcijos procedūra arba a Nuosavybė procedūrą. (Ypatybės naudojamos klasės moduliuose ir nustatomos jūsų sukurtų „ActiveX“ valdiklių ypatybės).
  3. Taip pat galite nustatyti procedūros apimtį Viešas arba Privatus. Jei procedūra yra vieša (numatytoji), ją gali naudoti visi projekto moduliai, o jei procedūra yra privati, ją galės naudoti tik šis modulis.
  4. Šioje procedūroje vietinius kintamuosius galite deklaruoti kaip statiką (tai susiję su kintamojo apimtimi ir viešai paskelbia vietinį procedūros lygio kintamąjį visam moduliui). Šia galimybe nesinaudosime.

Kai užpildysite visą reikiamą informaciją, spustelėkite Gerai.

Tada įveskite kodą tarp teiginių „Sub“ ir „End Sub“.

ALTERNATYVIAI - savo modulyje galite įvesti sub ir end posakius taip, kaip nurodyta aukščiau. Jums nereikia rašyti žodžio Public prieš žodį sub - jei šis žodis praleistas, visos modulio procedūros automatiškai laikomos viešomis.

Tada rašote Sub tada jūsų procedūros pavadinimas ir skliausteliai.

t.y:

1 Papildomas testas ()

The Pabaiga Sub pareiškimas pasirodys automatiškai.

VBA programavimas | Kodo generatorius jums tinka!

Rašymo kodas, kurį lengva suprasti ir naršyti

Pridedami komentarai

Įpraskite komentuoti savo kodą, kad vėliau primintumėte apie kodo funkcionalumą.

Galite įterpti komentarą į savo kodą, bet klaviatūroje įvesdami apostrofą, arba galite įjungti įrankių juostą Redaguoti ir naudoti toje įrankių juostoje esantį komentavimo mygtuką.

Dešiniuoju pelės mygtuku spustelėkite įrankių juostas.

Pasirinkite Redaguoti.

Spustelėkite komentaro mygtuką, kad įterptumėte komentarą į savo kodą.

PASTABA: Paprastai komentarų blokavimo mygtuką naudojate tik tada, kai turite keletą kodo eilučių, kurias norite komentuoti (o ne ištrinti). Vienam komentarui lengviau naudoti apostrofą.

Įtraukimas

Geras įprotis yra įvesti kodą, kad būtų lengviau jį perskaityti ir pamatyti skirtingas kodo dalis.

Įtraukimo lygiai gali būti daug, priklausomai nuo jūsų kodo logikos.

Didžiosios ir mažosios raidės

VBA pritaiko visą kodą prie didžiųjų raidžių, taigi, jei įvesite VISUS DIDELIOSIOS RAIDĖS arba visas mažosiomis, jūsų kodas bus sureguliuotas taip, kad būtų tinkamas!

VBA programavimas | Kodo generatorius jums tinka!

Automatinis užbaigimas

Kai pakoreguosite kodą, pastebėsite, kad VBA bando jums padėti siūlydama įvesti kodą. Tai žinoma kaip automatinis užbaigimas.

Klaidų gaudymas ir derinimas

Rašant VBA kodą gali atsirasti 4 tipų klaidos - sintaksės klaidos, kompiliavimo klaidos, vykdymo laiko klaidos ir loginės klaidos.

Sintaksės klaidos

Tai atsitinka, kai kodą rašote neteisingai. Tam VBA iš esmės neleidžia įjungti sintaksės tikrinimo parinkties. Paprastai tai įjungta pagal numatytuosius nustatymus, bet jei jūsų įrenginys yra išjungtas, įjunkite jį eidami į Įrankiai, Galimybės ir spustelėkite Automatinis sintaksės tikrinimas.

Jei kodą įvesite neteisingai (pavyzdžiui, neįtrauksite to, kas turėtų būti kode), kol rašysite kodą, pasirodys pranešimų langelis, suteikiantis galimybę kodą pakeisti.

Kompiliavimo klaidos

Tai atsitinka, kai kode trūksta kažko, kas neleidžia vykdyti kodo. Klaida neatsiranda, kai rašote kodą, tačiau ji atsiranda bandant paleisti kodą.

VBA programavimas | Kodo generatorius jums tinka!

Vykdymo klaidos

Tai įvyksta paleidus kodą, o sintaksė ir kompiliacija yra teisingi, tačiau įvyksta kažkas kita, kad kodas negalėtų tinkamai veikti.

Šiuo atveju „Sheet4“ nėra. Šis klaidos pranešimas yra naudingesnis nei kompiliavimo klaidų pranešimai, nes jis suteikia jums galimybę derinti kodą ir sužinoti, kodėl jis neveikia.

Spustelėkite Derinimas. Kodas sustos ties klaida ir geltonai paryškins klaidą, leidžiančią ištaisyti klaidą.

Pakeiskite 4 lapą į 2 lapą (nes 2 lapas yra ir 4 lapas neegzistuoja).

Paspauskite F5 arba spustelėkite Tęsti mygtuką įrankių juostoje.

Loginės klaidos

Šiuos rasti sunkiausia. Jų atveju kodas parašytas teisingai, tačiau tikroji kodo logika yra ydinga, todėl gali būti, kad iš kodo negausite norimo rezultato. Esant loginėms klaidoms, klaidų gaudymas yra būtinas.

Yra 2 tipų klaidų gaudyklės

Dėl klaidos Eikite į

Šis kodas skirtas atidaryti dialogo langą Failo atidarymas - jei vartotojas spustelės, jis parodys klaidą Atšaukti.

Kai paleisite kodą, pasirodys dialogo langas Failo atidarymas.

Kai spustelėsite atšaukti, atsiras klaida.

Toliau pateikta klaidų gaudyklė tęs kodą į kodo išėjimo funkciją ir grąžins pranešimą.

Norėdami išeiti iš funkcijos, naudojama „On Error GoTo“.

Kai paleisite kodą ir spustelėsite atšaukti, pasirodys pranešimų langas.

Dėl klaidos Tęsti toliau

Jei įdėsite Dėl klaidos Tęsti toliau Įrašas į jūsų kodą, eilutė, kurioje yra klaida, bus ignoruojama ir kodas bus tęsiamas.

Pvz., Jei naudotojas toliau pateiktame kode spustelės Atšaukti, kodas nepateiks vykdymo klaidos, jis tiesiog baigsis, kodui nieko nedarius.

Kartais tai labai naudinga, tačiau tam tikromis aplinkybėmis tai taip pat gali būti labai pavojinga, nes negrąžina pranešimo, kodėl gavote klaidą.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave