Ustvarjanje (po meri) uporabniško določenih funkcij (UDF)

Ta vadnica bo razložila, kako ustvariti uporabniško določene funkcije v VBA.

VBA sestavljajo podprocedure in funkcijski postopki. Postopki funkcij vrnejo vrednost in jih lahko pokličete s podprocedurami ali pa jih uporabite v Excelovem listu, kjer se vrednost, ki jo ustvari funkcija, vrne v Excelov list. Excel ima seveda vrsto vgrajenih funkcij - na primer funkcijo vsote ali funkcijo if. Postopki funkcij, ki jih zapišete v VBA, se uporabljajo na podoben način kot vgrajena funkcija in so znani kot uporabniško določene funkcije (UDF).

Zakaj ustvariti UDF?

Zahtevana funkcija manjka

Eden glavnih razlogov, da želite ustvariti UDF v Excelu, je, da ni obstoječe vgrajene funkcije, ki bi opravila nalogo namesto vas. Pisanje lastne funkcije v VBA je običajno najučinkovitejši način za rešitev težave. Spodnja funkcija pretvori vrednost iz kilogramov v funtov, kjer se za izračun izračuna vrednosti kilogramov uporabi spremenljiv parameter (dblKilo).

Zamenjaj podprogram (makro)

Lahko bi napisali podproceduro (makro), ki bi rešila nalogo namesto vas - vendar podprocedure ne vrnejo vrednosti in niso dinamične - z drugimi besedami, če se vrednosti na vašem delovnem listu spremenijo, bi morali znova zagnati makro, da lahko izračuni v makru posodobijo vaše podatke. Spodnji podproces bi prav tako pretvoril naše kilograme v funte, vendar bi morali vsakič, ko se podatki spremenijo v A1, znova zagnati makro, da posodobite rezultat.

Zamenjajte formulo

Morda imate v Excelu res zapleteno formulo, ki jo morate uporabljati večkrat - vnos formule v kodo VBA olajša branje in razumevanje - pa tudi morda odstrani prostor za napake uporabnikov pri vnosu formule.

Ustvarjanje UDF -jev

Če želite ustvariti UDF, najprej dodajte modul v delovni zvezek programa Excel ali, če imate delovni zvezek osebnega makra, lahko uporabite obstoječi modul ali dodate novega. Če želite to narediti, morate biti v urejevalniku Visual Basic (VBE). Če želite priti do VBE, pritisnite ALT + F11 ali kliknite možnost Visual Basic na zavihku Razvijalec na traku.

NAMIG: Če na traku nimate omogočenega zavihka Razvijalec, pojdite na Datoteka, možnosti in kliknite na Prilagodite trak. Prepričajte se, da je potrditveno polje Developer in kliknite V redu.

Če želite vstaviti nov modul, izberite projekt VBA, v katerega želite vstaviti modul (bodisi projekt VBA za trenutno knjigo, v kateri delate, bodisi delovni zvezek osebnega makra), kliknite na Vstavi Meni in kliknite Modul

Ko ustvarite svoj modul, lahko začnete ustvarjati svoj UDF.

Vsi UDF -ji se začnejo s funkcijo in nato z imenom UDF. Funkcije so lahko zasebne ali javne, vendar običajno želite, da je UDF javen, da se prikaže v pogovornem oknu Vstavi funkcijo v Excelu (glejte uporabo funkcije na Excelovem listu spodaj v tem članku). Če ključne besede Private ne postavite pred funkcijo, je funkcija samodejno javna.

123 Funkcija TestFunction1 (intA kot celo število) kot celo številoTestFunction1 = intA * 7Končana funkcija

Zgornja funkcija ima en sam argument (intA). Ustvarite lahko funkcijo z več argumenti

123 Funkcija TestFunction2 (intA kot celo število, intB kot celo število, intC kot celo število) kot celo številoTestFunction2 = (intA * intB) + intCKončana funkcija

Ustvarite lahko tudi funkcijo z izbirnimi argumenti. Če je argument izpuščen, lahko nastavite privzeto vrednost za argument v funkciji.

123 Funkcija TestFunction3 (intA kot celo število, intB kot celo število, neobvezno intC kot celo število = 10) kot celo številoTestFunction3 = (intA * intB) + intCKončana funkcija

Uporaba funkcije v Excelovem listu

Ustvarjene funkcije bodo privzeto prikazane na vašem seznamu funkcij v razdelku Uporabniško določene funkcije na seznamu funkcij.

Kliknite na fx za prikaz pogovornega okna Vstavi funkcijo.

Izberite Uporabnik definiran s seznama kategorij

Od razpoložljivih izberite želeno funkcijo Uporabniško določene funkcije.

Druga možnost je, da ko začnete pisati svojo funkcijo v Excelu, se mora funkcija prikazati na spustnem seznamu funkcij.

Shranjevanje funkcij z datoteko Excel

Ker so funkcije zapisane v kodi VBA, je razumljivo, da mora biti koda na voljo delovnemu zvezku, da bo na voljo za uporabo v Excelovem listu. Svoje funkcije lahko shranite v delovni zvezek, v katerem jih uporabljate, ali pa jih shranite v delovni zvezek Osebni makro. Delovni zvezek osebnega makra je skrita datoteka, ki je na voljo, kadar koli je odprt Excel, zato je na voljo za uporabo katerega koli delovnega zvezka v Excelu. Običajno se ustvari, ko posnamete makro in izberete možnost za shranjevanje makra v delovnem zvezku osebnega makra.

Če želite, da vaše funkcije ostanejo shranjene v delovnem zvezku, na katerem delate, se morate prepričati, da se pri shranjevanju delovnega zvezka shrani kot »Delovni zvezek z omogočeno makro funkcijo'Ali an xlsm mapa.

wave wave wave wave wave