Aangepaste Excel-functies - Maak aangepaste, door de gebruiker gedefinieerde functies

Hoe maak je aangepaste Excel-functies? (met voorbeelden)

Om een ​​aangepaste functie te maken, moeten we een code schrijven voor de werking van onze eigen functies, en dat wordt "UDF" genoemd. Aangepaste functies zijn door de gebruiker gedefinieerde functies in Excel, dus om deze functies te maken, moet u VBA-codering grondig kennen.

Voorbeeld # 1 - Voeg twee willekeurige nummers toe

Als u bijvoorbeeld twee getallen wilt toevoegen, laten we u een eenvoudige door de gebruiker gedefinieerde functie (UDF) zien.

  • Druk op Alt + F11 en voeg de module in.
  • Schrijf code in een module om een ​​aangepaste functie te maken.

Elke aangepaste functie moet beginnen met het woord "Functie", gevolgd door de formulenaam.

Elke functie heeft ook zijn argumenten of parameters die vergelijkbaar zijn met aangepaste functies; we moeten die parameters definiëren. Omdat we slechts twee getallen optellen, moeten we die parameters definiëren en gegevenstypen aan die argumentvariabelen toewijzen.

Zodra de parameters zijn gedefinieerd met een gegevenstype, moeten we ook de resultaatuitkomstgegevenstypen definiëren. Laten we de uitkomst definiëren als de "Integer" -waarde.

Binnen deze "Functieprocedure" zullen we de formulecode schrijven.

Code:

Functie Optellen (Num1 als geheel getal, Num2 als geheel getal) Als geheel getal Additiona = Num1 + Num2 Eindfunctie

Dit zegt dat het resultaat van de functienaam "Optellen" de som is van de waarden Num1 en Num2.

  • Ga nu terug naar het werkblad en voer twee willekeurige gehele getallen in.
  • We zullen deze twee nummers nu toevoegen. Open het gelijkteken en voer de aangepaste functienaam 'Optellen' in.

Selecteer het eerste en tweede cijfer door een scheidingsteken in te voeren als komma (,).

  • Druk op de enter-toets om het resultaat te krijgen.

Wauw!!! Net als de functie SOM hebben we het resultaat van de som van twee getallen.

Kijk nu eens naar deze cijfers.

Probeer nu deze twee nummers toe te voegen.

We hebben de foutwaarde gekregen omdat het gegevenstype "Num1 & Num2" van de argumenten "Geheel getal" is, dwz deze twee argumenten kunnen waarden tussen -32767 en 32767 bevatten, dus alles meer dan dit zal deze fouten veroorzaken.

Probeer nu deze twee cijfers toe te voegen.

Zelfs dit zal een onderstaande foutwaarde veroorzaken.

Hoewel individuele argumentwaarden binnen de limiet van het gegevenstype Geheel getal vallen, krijgen we nog steeds deze fout omdat de totale som van deze getallen meer is dan de limietwaarde van het gehele getal.

Aangezien we het resultaattype ook als "geheel getal" hebben gedeclareerd, moet het resultaat van de toevoeging van twee getallen ook een limiet voor een geheel getal zijn.

Voorbeeld # 2 - Alle oneven nummers toevoegen

Excel heeft geen ingebouwde functie, die alle oneven getallen uit de lijst met getallen kan toevoegen. Maar geen zorgen, we zullen een aangepaste Excel-functie maken om dit te ondersteunen.

Open het VBA-editorvenster en geef een naam aan de functieprocedure.

Geef de parameter voor deze functie als 'Bereik'.

Dit betekent dat we voor deze functie de invoerwaarde voor deze functie opgeven als het "Bereik" van celwaarden.

Omdat we meer dan één cel moeten doorlopen, moeten we de "For Each" -lus in VBA gebruiken, dus open de "For Each" -lus.

Voeg binnen deze lus de onderstaande code toe.

Code:

Functie AddOdd (Rng As Range) Voor elke cel in Rng If cell.Value Mod 2 0 Then AddOdd = AddOdd + cell.Value Volgende cel Einde Functie

We moeten de "MOD" -functie gebruiken om het nummer te testen. Wanneer elke celwaarde wordt gedeeld door het getal 2 en de restwaarde niet gelijk is aan nul, dan moet onze code alle oneven getalwaarden optellen.

Ga nu terug naar het werkblad en open de aangepaste Excel-functie.

Selecteer het nummerbereik van A1 tot D8.

Druk op de Enter-toets om het resultaat 'oneven' getallen te krijgen. '

Dus in het bereik A1 tot D8 hebben we de som van oneven getallen is 84.

Voorbeeld # 3 - Alle even getallen toevoegen

Evenzo zal de onderstaande functie alle even getallen optellen.

Code:

Functie AddEven (Rng As Range) Voor elke cel in Rng If cell.Value Mod 2 = 0 Then AddEven = AddEven + cell.Value Volgende cel Eindfunctie

Deze functie voegt alleen een even getal toe. In dit geval hebben we de logica gebruikt dat als elke celwaarde wordt gedeeld door 2 en de rest gelijk is aan nul, de code alleen die celwaarden zal toevoegen.

Op deze manier kunnen we door gebruik te maken van VBA-codering zelf aangepaste functies maken.

Dingen om te onthouden

  • Aangepaste functies maken zijn niets anders dan door de gebruiker gedefinieerde functies.
  • Om aangepaste functies te maken, moet men kennis hebben van geavanceerde VBA-codeervaardigheden.
  • Bij het maken van de aangepaste Excel-functies is het belangrijk om argumenten en hun gegevenstypen in de gaten te houden.

Interessante artikelen...