/ / Brukerdefinert funksjon i Excel VBA

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:

Brukerdefinert funksjon i Excel VBA

Brukerdefinerte funksjoner må plasseres i en modul.

1. Åpne Visual Basic Editor og klikk Insert Insert, Module.

2. Legg til følgende kodelinje:

Function SUMEVENNUMBERS(rng As Range)

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.

Dim cell As Range

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:

For Each cell In rng

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.

If cell.Value Mod 2 = 0 Then

End If

6. Bare hvis denne setningen er sant, legger vi verdien til SUMEVENNUMBERS. Legg til følgende kodelinje i If-setningen.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Ikke glem å avslutte funksjonen (utenfor løkken).

End Function

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:

Brukerdefinert funksjonsresultat

Bra gjort! Det er så enkelt brukerdefinerte funksjoner i Excel VBA. Merk: Denne funksjonen er bare tilgjengelig i denne arbeidsboken.

Les også: