Uporabniško določena funkcija v VBA - Kako ustvariti UDF? (Primeri)

Uporabniška funkcija Excel VBA (UDF)

Microsoft nam ponuja številne vgrajene funkcije za pospešitev dela v Excelu. Vendar z uporabo kodiranja VBA lahko ustvarimo lastne funkcije, ki se tehnično imenujejo "Uporabniško določene funkcije" (UDF). V Excelu VBA jih imenujejo tudi "funkcije po meri".

Katera koli formula, do katere lahko z delom kode dostopate z delovnega lista, se imenuje UDF. Poenostavljeno rečeno, vsaka formula, ki ni vgrajena, vendar je na voljo v Excelu, se imenuje uporabniško določene funkcije.

Kako ustvariti uporabniško določene funkcije?

Čeprav je UDF del našega modula, niso del naše običajne podprograme v VBA. To se v VBA imenuje funkcijski postopek. Tako kot pri podobnem zagonu makro kodiranja z besedo SUB, moramo to začeti z uporabo besede »Funkcija«. Podproces ima začetek in konec, podobno kot Funkcijski postopek ima začetek in konec.

Primer # 1 - Ustvarite preprosto funkcijo vsote UDF

Svojo funkcijo SUM bomo ustvarili v Excelu tako, da bomo sešteli dve številki.

  • Za začetek kodiranja v enem od modulov zaženite besedo »Funkcija«.
  • Tako kot kako podobno poimenujemo makro, moramo tudi svoji funkciji dati ime. To ime se uporablja kot ime formule.

Za razliko od podprograma ne moremo preprosto pritisniti enter, da bi ustvarili postopek, ampak moramo tukaj omeniti argumente.

Na primer, poglejte spodnjo sintakso funkcije delovnega lista SUM.

Številka 1, številka 2 sta argumenta funkcije SUM.

  • Podobno moramo omeniti svoje argumente.

Tu sem argumente razglasil kot "x kot celo število" in "y kot celo število". Ker dodamo številčno vrednost, moramo podatkovni tip dodeliti samo kot numerični podatkovni tip.

Po razglasitvi argumentov sem dodal tudi vrsto vrnitve Integer, ker je rezultat funkcije "OurSum" tudi številčna vrednost.

  • Zdaj znotraj funkcije moramo omeniti formulo, ki jo bomo uporabili. Tu moramo za začetek uporabiti funkcijo.

Omenili smo, da mora ime formule " OurSum " dodati x in y.

  • Ok, shranite kodo in pojdite na delovni list.
  • Tu sem vnesel nekaj številk. Odprite znak enačbe in začnite tipkati OurSum. Tu lahko vidite ime formule.
  • Tako kot izberemo celice, podobno izberemo dve celici ločeno.
  • Ko izberete dve celici, pritisnite tipko Enter, da dobite rezultate.

Torej deluje popolnoma enako kot naša običajna funkcija SUM.

  • Ok, zdaj bom spremenil številke.
  • Zdaj bom uporabil funkcijo, ki smo jo ustvarili.

Joj !!! Dobili smo vrednosti napak, razen za prvo celico.

Verjetno razmišljate, zakaj smo dobili napako.

Če opazite celici A2 in B2, imamo vrednosti 48170 in 21732. Ker smo podatkovni tip dodelili kot celo število, ne more vsebovati nobenega števila več kot 32767. To je razlog, da imamo napako excel kot # ŠTEV !.

Zdaj bom dodal številke, ki so manjše od 32767.

Na zgornji sliki so vsa števila celoštevilčna, tj. Manjša od 32767.

V prvi celici smo dobili rezultate. Toda v drugi celici, tj. Celici C2, smo dobili vrednost napake kot #VREDNOST !.

Čeprav sta obe številki manjši od 32767, smo napako vseeno dobili.

To je zato, ker smo končni rezultat razglasili tudi kot celo število.

Torej, ko dodamo 16000 in 17229, bomo dobili vrednost, kot je 33229, kar je več kot omejitev celoštevilskega tipa podatkov 32767. Torej je končni rezultat vrednost napake.

2. primer - Ustvarite funkcijo za preizkušanje logičnih vrednosti

Ustvarili bomo še eno funkcijo za testiranje logičnih vrednosti. Potrebujemo funkcijo, ki vrne "Dobro", če je število> = 60, rezultat pa kot "Slabo", če je število <= 50.

Korak 1: Zaženite funkcijski postopek in mu dajte ime.

2. korak: Argument podajte kot TestScore kot celo število.

3. korak: Naš končni rezultat mora biti »dober« ali »slab«, zato mora biti rezultat v nizu.

4. korak: Najprej moramo preizkusiti, ali je rezultat> = 60 ali ne. Za preskus uporabite pogoj IF.

5. korak: Če je rezultat testa> = 60, potrebujemo funkcijo za vrnitev rezultata kot »Dobro«. Torej TestResult = "Dobro."

6. korak: Če je rezultat testa manjši od 60, mora biti rezultat funkcije "Slab".

Ok, končali smo.

  • Shranite kodo in pojdite na delovni list.

Tu sem vnesel nekaj številk kot testni rezultat.

  • Za pridobitev rezultatov uporabite funkcijo, ki smo jo ustvarili.
  • Izberite celico in pritisnite Enter.

Za to gre UDF.

Zanimive Članki...