/ / Brugerdefineret funktion i Excel VBA

Brugerdefineret funktion i Excel VBA

Nedenfor vil vi se på et program i Excel VBA der skaber en Brugerdefineret funktion. Excel har en stor samling af funktioner. I de fleste situationer er disse funktioner tilstrækkelige til at få arbejdet gjort. Hvis ikke, kan du oprette din egen funktion kaldet Brugerdefineret Funktion eller brugerdefineret Excel-funktion. Du kan få adgang til en brugerdefineret funktion ligesom enhver anden Excel-funktion.

Vi ønsker at oprette en funktion kaldet SUMEVENNUMBERS, der finder summen af ​​de lige tal for et tilfældigt valgt interval.

Situation:

Brugerdefineret funktion i Excel VBA

Brugerdefinerede funktioner skal placeres i et modul.

1. Åbn Visual Basic Editor og klik på Insert, Modul.

2. Tilføj følgende kode linje:

Function SUMEVENNUMBERS(rng As Range)

Navnet på vores funktion er SUMEVENNUMBERS. Delen mellem parenteserne betyder, at vi giver Excel VBA en rækkevidde som input. Vi navngiver vores sortiment rng, men du kan bruge et hvilket som helst navn.

3. Derefter erklærer vi et Range objekt og kalder det celle.

Dim cell As Range

4. Vi vil tjekke hver celle i et tilfældigt valgt interval (dette område kan være af en hvilken som helst størrelse). I Excel VBA kan du bruge For Each Next-sløjfen til dette. Tilføj følgende kode linjer:

For Each cell In rng

Next cell

Bemærk: Celle er tilfældigt valgt her, du kan bruge et hvilket som helst navn.

5. Dernæst kontrollerer vi for hver værdi i dette interval, om det er lige eller ej. Vi bruger Mod-operatøren til dette. Mod-operatøren giver resten af ​​en division. Så 7 mod 2 ville give 1. 7 er delt med 2 (3 gange) for at give en rest af 1. Når det er sagt, er det let at kontrollere om et tal er lige eller ej. Kun hvis resten af ​​et tal divideret med 2 er 0, er tallet ens. 8 mod 2 giver 0, 8 er divideret med 2 nøjagtigt 4 gange, og derfor er 8 ens. Tilføj følgende Hvis erklæring til For hver næste sløjfe.

If cell.Value Mod 2 = 0 Then

End If

6. Kun hvis denne erklæring er sandt, tilføjer vi værdien til SUMEVENNUMBERS. Tilføj følgende kode linje i If-sætningen.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Glem ikke at afslutte funktionen (uden for løkken).

End Function

8. Nu kan du bruge denne funktion, ligesom enhver anden Excel-funktion, til at finde summen af ​​de lige tal i et tilfældigt valgt område.

Resultat:

Brugerdefineret funktionsresultat

Godt klaret! Det er så nemt brugerdefinerede funktioner i Excel VBA. Bemærk: Denne funktion er kun tilgængelig i denne projektmappe.

Læs også: