Brukerdefinert funksjon i Excel VBA
Nedenfor ser vi på et program i Excel VBA som skaper en Brukerdefinert funksjon. Excel har en stor samling funksjoner. I de fleste tilfeller er disse funksjonene tilstrekkelige for å få jobben gjort. Hvis ikke, kan du opprette din egen funksjon kalt brukerdefinert funksjon eller egendefinert Excel-funksjon. Du kan få tilgang til en brukerdefinert funksjon, akkurat som alle andre Excel-funksjoner.
Vi ønsker å lage en funksjon som heter SUMEVENNUMBERS som finner summen av likeverdene i et tilfeldig valgt område.
Situasjon:
Brukerdefinerte funksjoner må plasseres i en modul.
1. Åpne Visual Basic Editor og klikk Insert Insert, Module.
2. Legg til følgende kodelinje:
Navnet på vår funksjon er SUMEVENNUMBERS. Delen mellom parentesene betyr at vi gir Excel VBA en rekkevidde som input. Vi heter vårt sortiment rng, men du kan bruke noe navn.
3. Deretter erklærer vi et Range-objekt og kaller det celle.
4. Vi vil sjekke hver celle i et tilfeldig valgt område (dette området kan være av en hvilken som helst størrelse). I Excel VBA kan du bruke For hver neste sløyfe for dette. Legg til følgende kodelinjer:
Next cell
Merk: Celle er tilfeldig valgt her, du kan bruke noe navn.
5. Deretter kontrollerer vi for hver verdi i dette området om det er jevnt eller ikke. Vi bruker Mod-operatøren for dette. Mod-operatøren gir resten av en divisjon. Så 7 mod 2 ville gi 1. 7 er delt med 2 (3 ganger) for å gi en rest av 1. Etter å ha sagt dette, er det enkelt å sjekke om et tall er jevnt eller ikke. Bare hvis resten av et tall delt med 2 er 0, er tallet jevnt. 8 mod 2 gir 0, 8 er delt med 2 nøyaktig 4 ganger, og derfor er 8 jevn. Legg til følgende Hvis erklæring til For hver neste sløyfe.
End If
6. Bare hvis denne setningen er sant, legger vi verdien til SUMEVENNUMBERS. Legg til følgende kodelinje i If-setningen.
7. Ikke glem å avslutte funksjonen (utenfor løkken).
8. Nå kan du bruke denne funksjonen, akkurat som alle andre Excel-funksjoner, for å finne summen av likeverdiene i et tilfeldig valgt område.
Resultat:
Bra gjort! Det er så enkelt brukerdefinerte funksjoner i Excel VBA. Merk: Denne funksjonen er bare tilgjengelig i denne arbeidsboken.