Brukerdefinert funksjon i VBA - Hvordan lage UDF? (Eksempler)

Excel VBA brukerdefinert funksjon (UDF)

Microsoft serverer oss med mange innebygde funksjoner for å øke hastigheten på arbeidet i Excel. Men ved bruk av VBA-koding kan vi lage våre egne funksjoner, og disse funksjonene kalles teknisk "User-Defined Functions" (UDF). De kalles også som “tilpassede funksjoner” i excel VBA.

Enhver formel som er tilgjengelig fra regnearket med et stykke kode kalles UDF. Enkelt sagt kalles enhver formel som ikke er innebygd, men tilgjengelig i Excel, brukerdefinerte funksjoner.

Hvordan lage brukerdefinerte funksjoner?

Selv om UDF er en del av modulen vår, er de ikke en del av vår vanlige subrutine i VBA. Dette kalles en funksjonsprosedyre i VBA. Som hvordan vi starter makrokodingen med ordet SUB på samme måte, må vi starte dette ved å bruke ordet "Funksjon". Underprosedyre har start og slutt, på samme måte har funksjonsprosedyre som start og slutt.

Eksempel 1 - Opprett en enkel UDF-sumfunksjon

Vi vil lage vår egen SUM-funksjon i excel ved å legge sammen to tall.

  • For å starte kodingen, start ordet “Funksjon” i en av modulene.
  • Som hvordan vi navngir makroen på samme måte, må vi også gi et navn til funksjonen vår. Dette navnet brukes som et formelnavn.

I motsetning til subrutine kan vi ikke bare trykke enter for å lage en prosedyre, men vi må nevne argumenter her.

Se for eksempel på syntaksen nedenfor for regnearkfunksjonen SUM.

Nummer 1, nummer 2 er argumenter for funksjonen SUM.

  • På samme måte må vi nevne argumentene våre.

Her har jeg erklært argumentene som “x som helhet” og “y som heltall.” Siden vi legger til numerisk verdi, må vi bare tilordne datatypen som en numerisk datatype.

Etter å ha erklært argumentene, har jeg også tildelt returtypen til heltalet fordi resultatet gitt av funksjonen "OurSum" også er en numerisk verdi.

  • Nå inne i funksjonen må vi nevne formelen vi skal bruke. Her må vi bruke funksjonen til å begynne med.

Vi nevnte formelnavnetOurSum ” skal legge til x og y.

  • Ok, lagre koden og gå til regnearket.
  • Jeg har skrevet inn noen tall her. Åpne likhetstegn og begynn å skrive OurSum. Du kan se formelnavnet som vises her.
  • Som hvordan vi velger celler, velger vi to celler separat.
  • Etter å ha valgt to celler, trykk Enter-tasten for å få resultater.

Så det fungerer nøyaktig det samme som vår vanlige SUM-funksjon.

  • Ok, nå skal jeg endre tallene.
  • Nå skal jeg bruke funksjonen vi har opprettet.

Åh!!! Vi har feilverdier bortsett fra den første cellen.

Du må tenke på hvorfor vi fikk en feil.

Hvis du observerer cellen A2 og B2, har vi verdiene 48170 og 21732. Siden vi har tilordnet datatypen som Heltall, kan den ikke inneholde noe tall mer enn 32767. Dette er grunnen til at vi fikk excel-feilen som #NUM !.

Nå skal jeg legge til tall som er mindre enn 32767.

På bildet ovenfor er alle tallene heltall, dvs. mindre enn 32767.

I den første cellen fikk vi resultatene. Men i den andre cellen, dvs. C2-cellen, fikk vi feilverdien som #VALUE !.

Selv om begge tallene er mindre enn 32767, har vi fortsatt feilen.

Dette er fordi vi også har erklært sluttresultatet som heltall.

Så når vi legger til 16000 og 17229, vil vi få en verdi som 33229, som er mer enn heltalsdatatypegrensen på 32767. Så sluttresultatet er en feilverdi.

Eksempel 2 - Opprett en funksjon for å teste logiske verdier

Vi vil lage en funksjon til for å teste de logiske verdiene. Vi trenger en funksjon som returnerer "God" hvis tallet er> = 60, og vi trenger resultatet som "Dårlig" hvis tallet er <= 50.

Trinn 1: Start funksjonsprosedyren og gi prosedyren et navn.

Trinn 2: Gi argumentet som TestScore som Integer.

Trinn 3: Sluttresultatet vårt skal være enten "bra" eller "dårlig", så resultatet skal være i streng.

Trinn 4: Først må vi teste om poengsummen er> = 60 eller ikke. Bruk IF-tilstand for å teste.

Trinn 5: Hvis testresultatet er> = 60, trenger vi funksjonen for å returnere resultatet som "Bra". Så TestResult = “Bra.”

Trinn 6: Hvis testresultatet er mindre enn 60, bør funksjonsresultatet være "Dårlig".

Ok, vi er ferdige.

  • Lagre koden og gå til regnearket.

Jeg har skrevet inn noen få tall her som en testscore.

  • Bruk funksjonen vi har opprettet for å oppnå resultater.
  • Velg cellen og trykk enter.

Dette handler UDF om.

Interessante artikler...