- Za odpiranje VBE uporabite kombinacijo tipk Alt + F11
- Hitre tipke v VBE
- Snemanje makra
- Uporaba delovnega zvezka Personal Macro
- Koda za zamik
- Koda za komentiranje
- Pisanje z malimi črkami
- Uporaba programa Intellisense
- Samodejno dokončanje
- Možnost Eksplicitna in prevajalska koda
- Takojšnje okno in odpravljanje napak
Ta vadnica vam bo pokazala različne resnično uporabne bližnjice v VBA
Za odpiranje VBE uporabite kombinacijo tipk Alt + F11
Običajno morate do urejevalnika Visual Basic klikniti gumb Visual Basic na Excelovem traku. Lahko pa pritisnete Alt + F11 namesto tega!
Hitre tipke v VBE
Ctl+r- prikazuje Raziskovalec projektov.
Ctl+g - prikazuje Takojšnje okno.
F4 - prikazuje Okno lastnosti.
F2 - prikazuje Brskalnik objektov.
F5 - vodi Postopek ti si notri.
F8 - omogoča vstop v kodo Odmor način.
Snemanje makra
Eden najboljših načinov za učenje VBA je snemanje makra in nato analiza kode. To je tudi zelo hiter način pisanja kode, vendar bo snemalnik posnel VSAK pritisk tipke, zato boste morda morali urediti kodo, da odstranite odvečne vrstice.
Oglejmo si spodnji makro, ki ga je zapisal snemalnik makrov, in poglejmo, kako ga lahko naredimo učinkovitejšega.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | Pod TestFormat ()''Makro TestFormat''Bližnjica na tipkovnici: Ctrl+Shift+T'ActiveCell.FormulaR1C1 = "Applese"Razpon ("D3"). IzberiteActiveCell.FormulaR1C1 = "Hruške"Razpon ("E3"). IzberiteActiveCell.FormulaR1C1 = "Breskve"Razpon ("C4"). IzberiteActiveCell.FormulaR1C1 = "12"Razpon ("D4"). IzberiteActiveCell.FormulaR1C1 = "14"Razpon ("E4"). IzberiteActiveCell.FormulaR1C1 = "16"Razpon ("C5"). IzberiteActiveCell.FormulaR1C1 = "20"Razpon ("D5"). IzberiteActiveCell.FormulaR1C1 = "25"Razpon ("E5"). IzberiteActiveCell.FormulaR1C1 = "26"Razpon ("C6: E6"). IzberiteObseg ("E6"). AktivirajteIzbor.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Izbor.Mere (xlDiagonalDown) .LineStyle = xlNoneIzbor.Mere (xlDiagonalUp) .LineStyle = xlNoneIzbor.Mere (xlEdgeLeft) .LineStyle = xlNoneZ izbiro. Obrobe (xlEdgeTop).LineStyle = xlNeprekinjeno.ColorIndex = 0.TintAndShade = 0.Teža = xlTanekKončaj sZ izbiro. Obrobe (xlEdgeBottom).LineStyle = xlDvojno.Indeks barve = 0.TintAndShade = 0.Teža = xlDebelaKončaj sIzbor.Mere (xlEdgeRight) .LineStyle = xlNoneIzbor. Meje (xlInsideVertical) .LineStyle = xlNoneIzbor.Mere (xlInsideHorizontal) .LineStyle = xlNoneRazpon ("C4: E6"). IzberiteSelection.NumberFormat = _"_- [$$-sl-ZDA]*#, ## 0.00_; _- [$$-sl-ZDA]*-#, ## 0.00; _- [$$-sl-ZDA]*" " -"" ?? _; _-@_ "Razpon ("C3: E3"). IzberiteSelection.Font.Bold = TrueRazpon ("C3"). IzberiteActiveCell.FormulaR1C1 = "Jabolka"End Sub |
Zdaj poglejte spodnjo kodo, ki bo dosegla enak rezultat
123456789101112131415161718192021 | Pod TestFormat ()'Bližnjica na tipkovnici: Ctrl+Shift+TRange ("C3") = "Jabolka"Range ("D3") = "Hruške"Range ("E3") = "Breskve"Razpon ("C4") = 12Razpon ("D4") = 14Razpon ("C4") = 16Razpon ("C5") = 20Razpon ("D5") = 25Razpon ("E5") = "26"Razpon ("C6: E6"). IzberiteIzbor.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Izbor.Mere (xlEdgeTop) .LineStyle = xlNeprekinjenoIzbor.Mere (xlEdgeBottom) .LineStyle = xlDoubleRazpon ("C4: E6"). IzberiteSelection.NumberFormat = _"_- [$$-sl-ZDA]*#, ## 0.00_; _- [$$-sl-ZDA]*-#, ## 0.00; _- [$$-sl-ZDA]*" " -"" ?? _; _-@_ "Razpon ("C3: E3"). IzberiteSelection.Font.Bold = TrueEnd Sub |
Če izrežemo veliko odvečne kode in po možnosti spremenimo posneto kodo, lahko naredimo makro veliko bolj učinkovit in enostaven za branje.
Uporaba delovnega zvezka Personal Macro
Če želite, da se makro lahko uporablja v vseh Excelovih datotekah, ga lahko shranite v delovni zvezek Osebni makro - ta delovni zvezek je skrit in je ves čas odprt v Excelu, tako da so tam shranjeni makri globalni makri .
Če v oknu VBE ne vidite delovnega zvezka osebnega makra, zabeležite makro in določite, ali naj se shrani v delovnem zvezku osebnega makra.
Koda za zamik
Ko zapišete kodo, takoj olajšate branje in sledenje nekomu drugemu. Če želite zamikati več vrstic kode, jih lahko izberete in pritisnete tipko Tab.
Podobno pritisnite, če želite premagati kodo Shift+Tab in koda se bo spet premaknila v levo.
Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!
Koda za komentiranje
Dodajanje komentarjev v kodo je še en način za olajšanje branja in krmarjenja. Kodi dodate komentar tako, da na začetku vrstice postavite en sam narekovaj, kot je prikazano spodaj.
Pisanje z malimi črkami
VBA uporablja pravilno kodo v kodi. Če pišete z malimi črkami in se ne spremeni v Primerne črke, lahko hitro vidite, kje ste naredili napako.
Uporaba programa Intellisense
Intellisense se prikaže, ko pišete kodo, in vam prikaže seznam vseh lastnosti, metod in dogodkov, ki so na voljo predmetu, s katerim delate. Običajno se samodejno prikaže, ko vnesete piko, ko vnašate kodo.
Prav tako ga lahko prisilite, da se prikaže, tako da pritisnete Ctl+j.
Podobno, ko uporabljate funkcije v Excelu, ki sprejemajo argumente, se te običajno samodejno pojavijo.
Lahko jih prisilite, da se prikažejo s pritiskom na Ctl+i.
Samodejno dokončanje
Uporabite lahko Ctl+presledek kombinacijo tipk za uporabo samodejnega dokončanja pri pisanju kode.
V zgornjem primeru so vse Lastnosti, metode, dogodki in Spremenljivke začenši s str se prikaže na seznamu, med katerim lahko izbirate.
Možnost Eksplicitna in prevajalska koda
Prepričajte se, da imate na vrhu vseh modulov možnost Opcija Explicit, ki zagotavlja, da so vse vaše spremenljivke deklarirane, in vam preprečuje, da bi naredili črkovalne napake v imenih spremenljivk. Če imate vklopljeno možnost Explicit in kodo sestavite ali zaženete, se prikaže sporočilo o napaki, če ime spremenljivke ni prepoznano.
Takojšnje okno in odpravljanje napak
Takojšnje okno (lahko ga vklopite z uporabo Ctl+g) vam omogoča razhroščevanje kode in iskanje vrednosti spremenljivk, medtem ko ste v tem načinu za odpravljanje napak.
12345678 | Podpreizkusne spremenljivke'razglasi spremenljivkoZatemni strName kot niz'napolni spremenljivkostrName = "Anne Smith"'Uporabite F8, da prestopite kodo in vrednost spremenljivke pošljete z debug.print v neposredno oknoDebug.Print strNameKonec pod |