/ / Användardefinierad funktion i Excel VBA

Användardefinierad funktion i Excel VBA

Nedan ser vi på ett program i Excel VBA som skapar en Användardefinierad funktion. Excel har en stor samling funktioner. I de flesta situationer är dessa funktioner tillräckliga för att få jobbet gjort. Om inte, kan du skapa din egen funktion som heter User Defined Function eller anpassad Excel-funktion. Du kan komma åt en användardefinierad funktion precis som alla andra Excel-funktioner.

Vi vill skapa en funktion som heter SUMEVENNUMBERS som hittar summan av det jämntalade numret i ett slumpmässigt valt område.

Situation:

Användardefinierad funktion i Excel VBA

Användardefinierade funktioner måste placeras i en modul.

1. Öppna Visual Basic Editor och klicka på Insert, Module.

2. Lägg till följande kodrad:

Function SUMEVENNUMBERS(rng As Range)

Namnet på vår funktion är SUMEVENNUMBERS. Delen mellan parenteserna betyder att vi ger Excel VBA ett intervall som input. Vi heter vårt sortiment rng, men du kan använda vilket namn som helst.

3. Därefter förklarar vi ett Range-objekt och kallar det cell.

Dim cell As Range

4. Vi vill kontrollera varje cell i ett slumpmässigt valt område (detta intervall kan vara av någon storlek). I Excel VBA kan du använda For Each Next-loopen för detta. Lägg till följande kodlinjer:

For Each cell In rng

Next cell

Obs! Cell är slumpmässigt vald här, du kan använda något namn.

5. Därefter kontrollerar vi för varje värde i detta intervall om det är jämnt eller inte. Vi använder Mod-operatören för detta. Mod-operatören ger resten av en uppdelning. Så 7 mod 2 skulle ge 1. 7 är dividerad med 2 (3 gånger) för att ge en återstod av 1. Med detta sagt är det enkelt att kontrollera om ett tal är jämnt eller inte. Endast om resten av ett tal dividerat med 2 är 0, är ​​numret jämnt. 8 mod 2 ger 0, 8 är dividerad med 2 exakt 4 gånger, och därför är 8 jämn. Lägg till följande If-uttalande till för varje nästa slinga.

If cell.Value Mod 2 = 0 Then

End If

6. Endast om detta uttalande är sant, lägger vi till värdet till SUMEVENNUMBERS. Lägg till följande kodrad i If-förklaringen.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Glöm inte att avsluta funktionen (utanför slingan).

End Function

8. Nu kan du använda denna funktion, precis som vilken som helst annan Excel-funktion, för att hitta summan av det jämntalade antalet slumpmässigt utvalda intervall.

Resultat:

Användardefinierat funktionsresultat

Bra gjort! Det är så enkelt användardefinierade funktioner i Excel VBA. Obs! Den här funktionen är endast tillgänglig i den här arbetsboken.

Läs också: