Poimenovanje podstavkov in funkcij Excel VBA

Tako kot ljudje, hišni ljubljenčki in orkani mora imeti vsak postopek pod in funkcijo Excel VBA ime. Čeprav je povsem sprejemljivo, da svojega psa poimenujete Hairball Harris, običajno ni dobra ideja, da bi pri poimenovanju postopkov Excl VBA uporabljali tako prost odnos. Pri poimenovanju postopkov Excel VBA morate upoštevati nekaj pravil:

  • Uporabite lahko črke, številke in nekaj ločil, vendar mora biti prvi znak črka.
  • V imenu ne morete uporabiti presledkov ali pik.
  • VBA ne razlikuje med velikimi in malimi črkami.
  • V imenu postopka ne morete uporabiti nobenega od naslednjih znakov: #, $, %, &, @, ^, * ali !. Z drugimi besedami, ime vašega postopka ne more izgledati kot kletvice v stripu.
  • Če napišete funkcijo funkcije za uporabo v formuli, se izogibajte uporabi imena, ki je videti kot naslov celice (na primer A1 ali B52). Pravzaprav Excel dovoljuje taka imena funkcij, toda zakaj bi stvari naredile bolj zmedene, kot so že?
  • Imena postopkov ne smejo biti daljša od 255 znakov. (Seveda nikoli ne bi naredili tako dolgega imena postopka.)

V idealnem primeru ime postopka opisuje namen rutine. Dobra praksa je ustvariti ime tako, da združite glagol in samostalnik – na primer ProcessData, PrintReport, Sort_Array ali CheckFilename.

Nekateri programerji raje uporabljajo stavčna imena, ki zagotavljajo popoln opis postopka. Nekateri primeri vključujejo WriteReportToTextFile in Get_Print_Options_and_Print_Report. Uporaba tako dolgih imen ima prednosti in slabosti. Po eni strani so takšna imena opisna in običajno nedvoumna. Po drugi strani pa traja dlje za tipkanje. Vsak razvije svoj slog poimenovanja, a če vaš makro ni le hiter in umazan začasen makro, je dobro, da ste opisni in se izogibate nesmiselnim imenom, kot so DoIt, Update, Fix in vedno priljubljen Macro1.

Izvajanje podprocedur Excel VBA

Čeprav na tej točki morda ne veste veliko o razvoju podprocedur, je pomembno vedeti, kako te postopke izvajati. Podprocedura je brez vrednosti, če ne veste, kako jo izvesti.

Mimogrede, izvajanje podprocedure pomeni isto kot zagon ali klic podprocedure. Uporabite lahko poljubno terminologijo.

VBA Sub lahko izvedete na več načinov; to je eden od razlogov, da lahko s postopki Sub naredite toliko koristnih stvari. Tukaj je izčrpen seznam načinov za izvedbo podprocedure:

  • Izberite Run → Run Sub/UserForm (v VBE). Excel izvede postopek Sub, v katerem se nahaja kazalec. Ta ukaz menija ima dve možnosti: tipko F5 in gumb Run Sub/UserForm v standardni orodni vrstici v VBE. Te metode ne delujejo, če postopek zahteva enega ali več argumentov.
  • Uporabite Excelovo pogovorno okno Makro. To polje odprete tako, da izberete Razvijalec → Koda → Makri ali z izbiro Pogled → Makri → Makri. Ali pa obidete trak in samo pritisnite Alt+F8. Ko se prikaže pogovorno okno Makro, izberite želeni podpostopek in kliknite Zaženi. V tem pogovornem oknu so navedeni samo postopki, ki ne zahtevajo argumenta.
  • Pritisnite Ctrl+tipka (ali Ctrl+Shift+tipka), ki je dodeljena podproceduri (ob predpostavki, da ste jo dodelili).
  • Kliknite gumb ali obliko na delovnem listu. Gumb ali oblika mora imeti dodeljen subpostopek – kar je zelo enostavno narediti.
  • Iz drugega podprocedura, ki ga napišete.
  • Kliknite gumb, ki ste ga dodali v orodno vrstico za hitri dostop.
  • Iz predmeta po meri, ki ste ga dodali na trak.
  • Ko pride do dogodka. Ti dogodki vključujejo odpiranje delovnega zvezka, zapiranje delovnega zvezka, shranjevanje delovnega zvezka, spremembo celice, aktiviranje lista in druge stvari.
  • Iz okna Immediate v VBE. Samo vnesite ime podprocedure in pritisnite Enter.

Nekatere od teh tehnik so opisane spodaj. Če želite slediti, morate v modul VBA vnesti podproceduro:

Začnite z novim delovnim zvezkom.

Pritisnite Alt+F11, da aktivirate VBE.

V oknu Projekt izberite delovni zvezek.

Izberite Vstavi → Modul, da vstavite nov modul.

V modul vnesite naslednje:

Sub ShowCubeRoot()
  Num = InputBox("Vnesite pozitivno število")
  MsgBox Num ^ (1/3) & " je kockasti koren."
Končni sub

Ta postopek od uporabnika zahteva številko in nato prikaže kockasti koren te številke v sporočilnem polju. Te slike prikazujejo, kaj se zgodi, ko izvedete ta postopek.

Poimenovanje podstavkov in funkcij Excel VBA

Za pridobitev številke uporabite vgrajeno funkcijo VBA InputBox.

Tukaj lahko tudi kaj se zgodi prek funkcije MsgBox.

Poimenovanje podstavkov in funkcij Excel VBA

Prikaz kubičnega korena števila prek funkcije MsgBox.

Mimogrede, ShowCubeRoot ni primer dobrega makra. Ne preverja napak, zato zlahka odpove. Poskusite klikniti gumb Prekliči v vnosnem polju ali vnesti negativno število. Vsako dejanje povzroči sporočilo o napaki.

Neposredno izvajanje postopka Excel VBA Sub

Eden od načinov za izvedbo tega postopka je, da to storite neposredno iz modula VBA, v katerem ste ga definirali. Sledite tem korakom:

Aktivirajte VBE in izberite modul VBA, ki vsebuje postopek.

Premaknite kazalec kamor koli v kodi postopka.

Pritisnite F5 (ali izberite Run → Run Sub/UserForm).

Odgovorite na vnosno polje in kliknite V redu.

Postopek prikaže kubni koren vnesene številke.

Ne morete uporabiti Run → Run Sub/UserForm za izvedbo podprocedure, ki uporablja argumente, ker ne morete posredovati argumentov v proceduro. Če postopek vsebuje enega ali več argumentov, je edini način za njegovo izvedbo, da ga pokličete iz drugega postopka, ki mora zagotoviti argument(e).

Izvajanje postopka iz Excelovega pogovornega okna Makro

Večino časa izvajate podpostopke iz Excela, ne iz VBE. Naslednji koraki opisujejo, kako izvesti makro z uporabo Excelovega pogovornega okna Macro:

Če delate v VBE, aktivirajte Excel.
Če pritisnete Alt+F11, je hitra pot.

Izberite Razvijalec → Koda → Makri (ali pritisnite Alt+F8).
Excel prikaže pogovorno okno, prikazano tukaj.Poimenovanje podstavkov in funkcij Excel VBA

V pogovornem oknu Makro so navedeni vsi razpoložljivi podpostopki.

Izberite makro.

Kliknite Zaženi (ali dvokliknite ime makra v polju s seznamom).

Pogovorno okno Makro ne prikaže podprocedur, ki uporabljajo argumente. To je zato, ker ne morete navesti argumentov.

Izvajanje makra Excel VBA z uporabo bližnjične tipke

Drug način za izvajanje makra je, da pritisnete njegovo bližnjično tipko. Toda preden lahko uporabite to metodo, morate makru dodeliti bližnjično tipko.

Ko začnete snemati makro, imate možnost dodeliti bližnjico v pogovornem oknu Record Macro . Če ustvarite postopek brez uporabe snemalnika makrov, lahko dodelite tipko za bližnjico (ali spremenite obstoječo bližnjično tipko) z naslednjimi koraki:

Izberite Razvijalec → Koda → Makri.

S seznama izberite ime podprocedure.

V tem primeru se postopek imenuje ShowCubeRoot.

Kliknite gumb Možnosti.
Excel prikaže pogovorno okno Možnosti makra, ki je prikazano tukaj.Poimenovanje podstavkov in funkcij Excel VBA

Pogovorno okno Možnosti makra vam omogoča nastavitev možnosti za svoje makre.

Kliknite možnost bližnjične tipke in vnesite črko v polje z oznako Ctrl.

Črka, ki jo vnesete, ustreza kombinaciji tipk, ki jo želite uporabiti za izvajanje makra. Če na primer vnesete malo črko c, lahko izvedete makro tako, da pritisnete Ctrl+C. Če vnesete veliko črko, morate kombinaciji tipk dodati tipko Shift. Če na primer vnesete C, lahko izvedete makro tako, da pritisnete Ctrl+Shift+C.

Kliknite V redu, da zaprete pogovorno okno Možnosti makra, in nato kliknite Prekliči, da zaprete pogovorno okno Makro.
Ko dodelite tipko za bližnjico, lahko pritisnete to kombinacijo tipk, da izvedete makro. Tipka za bližnjico ne deluje, če je dodeljena makru, ki uporablja argument.

Bližnjične tipke, ki jih dodelite makrom, preglasijo Excelove vgrajene bližnjične tipke. Na primer, Ctrl+C je standardna bližnjica za kopiranje podatkov. Če makru dodelite Ctrl+C, za kopiranje ne morete uporabiti Ctrl+C. To običajno ni velika stvar, saj Excel skoraj vedno ponuja druge načine za izvajanje ukazov.

Izvajanje postopka Excel VBA iz gumba ali oblike

Včasih vam bo morda všeč ideja o dodelitvi makra gumbu (ali kateri koli drugi obliki) na delovnem listu. Če želite gumbu dodeliti makro Excel, sledite tem korakom:

Aktivirajte delovni list.

Dodajte gumb iz skupine Kontrolniki obrazca.
Če želite prikazati skupino Kontrolniki obrazca, izberite Razvijalec → Kontrolniki → Vstavi.Poimenovanje podstavkov in funkcij Excel VBA

Trak, ki prikazuje kontrolnike, ki so na voljo, ko kliknete Vstavi na zavihku Razvijalec.

Kliknite orodje Gumb v skupini Kontrolniki obrazca.

To je prvi gumb v prvi vrstici kontrolnikov.

Povlecite delovni list, da ustvarite gumb.
Ko dodate gumb na delovni list, vam Excel prebere misli in prikaže pogovorno okno Dodeli makro, prikazano spodaj.Poimenovanje podstavkov in funkcij Excel VBA

Ko dodate gumb na delovni list, Excel samodejno prikaže pogovorno okno Dodeli makro.

Izberite makro, ki ga želite dodeliti gumbu.

Kliknite V redu.

Ko opravite nalogo, se s klikom na gumb izvede makro – tako kot čarovnija.

Ko dodate gumb, upoštevajte, da spustno polje prikazuje dva niza kontrolnikov: kontrolniki obrazca in kontrolniki ActiveX. Ti dve skupini kontrol sta si podobni, v resnici pa sta si zelo različni. V praksi so kontrolniki obrazca enostavnejši za uporabo.

Makro lahko dodelite tudi kateri koli drugi obliki ali predmetu. Predpostavimo na primer, da želite izvesti makro, ko uporabnik klikne predmet Rectangle. Sledite tem korakom:

Dodajte pravokotnik na delovni list.

Vstavite pravokotnik tako, da izberete Vstavi → Ilustracije → Oblike.

Z desno tipko miške kliknite pravokotnik.

V priročnem meniju izberite Dodeli makro.

Izberite makro v pogovornem oknu Dodeli makro.

Kliknite V redu.
Ko izvedete te korake, se s klikom na pravokotnik izvede dodeljeni makro.

Izvajanje postopka iz drugega postopka Excel VBA

Postopek Excel VBA lahko izvedete tudi iz drugega postopka. Sledite tem korakom, če želite to poskusiti:

Aktivirajte modul VBA, ki vsebuje rutino ShowCubeRoot.

Vnesite ta nov postopek (bodisi nad ali pod kodo ShowCubeRoot - ni razlike):

Sub NewSub()
  Pokličite ShowCubeRoot
Končni sub

Ko je končano, preprosto izvedete makro NewSub.

Najlažji način za to je, da premaknete kazalec kamor koli znotraj kode NewSub in pritisnete F5. Upoštevajte, da ta postopek NewSub preprosto izvede postopek ShowCubeRoot.

Mimogrede, ključna beseda Call ni obvezna. Stavek je lahko sestavljen samo iz imena podprocedure. Vendar pa uporaba ključne besede Call popolnoma jasno pokaže, da se postopek kliče.

Izvajanje postopkov funkcije Excel VBA

Funkcije, za razliko od podprocedur, se lahko izvajajo samo na dva načina:

  • S klicem funkcije iz drugega podprocedura ali funkcije funkcije
  • Z uporabo funkcije v formuli delovnega lista

Preizkusite to preprosto funkcijo. Vnesite ga v modul VBA:

Funkcija CubeRoot (število)
  Kocka Koren = število ^ (1/3)
Končna funkcija

Ta funkcija je precej slaba; izračuna le kubični koren števila, ki mu je bilo posredovano kot argument. Vendar pa zagotavlja izhodišče za razumevanje funkcij. Ponazarja tudi pomemben koncept funkcij: kako vrniti vrednost. (Se spomnite, da funkcija vrne vrednost, kajne?)

Upoštevajte, da ena vrstica kode, ki sestavlja ta postopek funkcije, izvede izračun. Rezultat matematike (število na potenco 1⁄3) je dodeljen spremenljivki CubeRoot. Ni naključje, da je CubeRoot tudi ime funkcije. Če želite funkciji povedati, katero vrednost naj vrne, to vrednost dodelite imenu funkcije.

Klicanje funkcije Excel VBA iz podprocedure

Ker funkcije ne morete izvesti neposredno, jo morate poklicati iz drugega postopka. V isti modul VBA, ki vsebuje funkcijo CubeRoot, vnesite naslednji preprost postopek :

Sub CallerSub()
  Odgovor = Kockasti koren (125)
  MsgBox Ans
Končni sub

Ko izvedete postopek CallerSub, Excel prikaže sporočilo, ki vsebuje vrednost spremenljivke Ans, ki je 5.

Evo, kaj se dogaja: funkcija CubeRoot se izvede in prejme argument 125. Izračun izvede koda funkcije (z uporabo vrednosti, posredovane kot argument), vrnjena vrednost funkcije pa je dodeljena spremenljivki Ans. Funkcija MsgBox nato prikaže vrednost spremenljivke Ans.

Poskusite spremeniti argument, ki je bil posredovan funkciji CubeRoot, in znova zaženite makro CallerSub. Deluje tako, kot bi moralo – ob predpostavki, da date funkciji veljaven argument (pozitivno število).

Mimogrede, postopek CallerSub bi lahko nekoliko poenostavili. Spremenljivka Ans v resnici ni potrebna, razen če bo vaša koda to spremenljivko uporabila pozneje. Za enak rezultat lahko uporabite to eno samo izjavo:

MsgBox CubeRoot (125)

Klicanje funkcije Excel VBA iz formule delovnega lista

Zdaj je čas, da pokličete ta postopek funkcije VBA iz formule delovnega lista. Aktivirajte delovni list v istem delovnem zvezku, ki vsebuje definicijo funkcije CubeRoot. Nato v katero koli celico vnesite naslednjo formulo:

=kockasti koren (1728)

Celica prikaže 12, kar je dejansko kubni koren 1728.

Kot bi lahko pričakovali, lahko uporabite sklic na celico kot argument za funkcijo CubeRoot. Na primer, če celica A1 vsebuje vrednost, lahko vnesete =CubeRoot(A1) . V tem primeru funkcija vrne število, pridobljeno z izračunom kubičnega korena vrednosti v A1.

To funkcijo lahko uporabite poljubno število krat na delovnem listu. Tako kot vgrajene funkcije Excela, se vaše funkcije po meri pojavijo v pogovornem oknu Vstavi funkcijo. Kliknite gumb v orodni vrstici Vstavi funkcijo in izberite kategorijo Uporabniško določeno. Kot je prikazano spodaj, je v pogovornem oknu Vstavi funkcijo navedena vaša lastna funkcija.

Poimenovanje podstavkov in funkcij Excel VBA

Funkcija CubeRoot se pojavi v kategoriji User Defined pogovornega okna Vstavi funkcijo.

Če želite, da se v pogovornem oknu Vstavi funkcijo prikaže opis funkcije, sledite tem korakom:

Izberite Razvijalec → Koda → Makri.
Excel prikaže pogovorno okno Makro, vendar CubeRoot ni prikazan na seznamu. (CubeRoot je funkcija funkcije in ta seznam prikazuje samo podprocedure.) Ne skrbite.

V polje Ime makra vnesite besedo CubeRoot.

Kliknite gumb Možnosti.

V polje Opis vnesite opis funkcije.

Kliknite V redu, da zaprete pogovorno okno Možnosti makra.

Zaprite pogovorno okno Makro s klikom na gumb Prekliči.
To opisno besedilo se zdaj prikaže v pogovornem oknu Vstavi funkcijo.

Ta slika prikazuje funkcijo CubeRoot, ki se uporablja v formulah delovnega lista.

Poimenovanje podstavkov in funkcij Excel VBA

Uporaba funkcije CubeRoot v formulah.

Do zdaj se vam bodo stvari morda začele sestavljati.

Leave a Comment

Kako dokazati besedilo v tujem jeziku v Wordu 2016

Kako dokazati besedilo v tujem jeziku v Wordu 2016

V interesu kozmopolitizma vam Word 2016 omogoča delo s tujimi jeziki. Naučite se, kako vnesti in urediti besedilo v tujem jeziku, ter preveriti črkovanje in slovnico.

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Učinkovito filtriranje in razvrščanje podatkov v vrtilni tabeli Excel 2019 za boljša poročila. Dosežite hitrejše analize z našimi namigi in triki!

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Reševalec v Excelu je močno orodje za optimizacijo, ki lahko naleti na težave. Razumevanje sporočil o napakah reševalca vam lahko pomaga rešiti težave in optimizirati vaše matematične modele.

Teme za PowerPoint 2019

Teme za PowerPoint 2019

Odkrijte različne <strong>teme PowerPoint 2019</strong> in kako jih lahko uporabite za izboljšanje vaših predstavitev. Izberite najboljšo temo za vaše diapozitive.

Kako uporabljati distribucije hi-kvadrat v Excelu

Kako uporabljati distribucije hi-kvadrat v Excelu

Nekateri statistični ukrepi v Excelu so lahko zelo zmedeni, vendar so funkcije hi-kvadrat res praktične. Preberite vse opise funkcij hi-kvadrat za bolje razumevanje statističnih orodij.

Kako dodati obrobo strani v Word 2013

Kako dodati obrobo strani v Word 2013

V tem članku se naučite, kako dodati <strong>obrobo strani</strong> v Word 2013, vključno z različnimi slogi in tehnikami za izboljšanje videza vaših dokumentov.

Kako delati z več dokumenti v Wordu 2013

Kako delati z več dokumenti v Wordu 2013

Ni vam treba omejiti uporabe urejevalnika besedil na delo z enim samim dokumentom. Učinkovito delajte z več dokumenti v Wordu 2013.

Kako dodati komentarje v predstavitev PowerPoint 2013

Kako dodati komentarje v predstavitev PowerPoint 2013

Sodelovanje pri predstavitvi, ustvarjeni v PowerPointu 2013, je lahko tako preprosto kot dodajanje komentarjev. Odkrijte, kako učinkovito uporabljati komentarje za izboljšanje vaših predstavitev.

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Ugotovite, kako prilagoditi nastavitve preverjanja črkovanja in slovnice v Wordu 2016, da izboljšate svoje jezikovne sposobnosti.

Kaj so izročki v PowerPointu 2013?

Kaj so izročki v PowerPointu 2013?

PowerPoint 2013 vam ponuja različne načine za izvedbo predstavitve, vključno s tiskanjem izročkov. Izročki so ključnega pomena za izboljšanje vaše predstavitve.