Een door de gebruiker gedefinieerde functie maken in Microsoft Excel

Inhoudsopgave:

Een door de gebruiker gedefinieerde functie maken in Microsoft Excel
Een door de gebruiker gedefinieerde functie maken in Microsoft Excel

Video: Een door de gebruiker gedefinieerde functie maken in Microsoft Excel

Video: Een door de gebruiker gedefinieerde functie maken in Microsoft Excel
Video: Windows 10: verborgen bestanden en extensies weergeven 2024, Mei
Anonim

Microsoft Excel heeft veel ingebouwde functies, zoals SOM, VERT. ZOEKEN en LINKS. Als u Excel begint te gebruiken voor meer gecompliceerde taken, kan het zijn dat u een functie nodig heeft die niet bestaat. Dat is waar aangepaste functies binnenkomen! Deze wikiHow leert je hoe je je eigen functies kunt maken in Microsoft Excel.

Stappen

259250 1
259250 1

Stap 1. Open een Excel-werkmap

Dubbelklik op de werkmap waarin u de op maat gedefinieerde functie wilt gebruiken om deze in Excel te openen.

259250 2
259250 2

Stap 2. Druk op Alt+F11 (Windows) of Fn+⌥ Opt+F11 (Mac).

Hiermee wordt de Visual Basic-editor geopend.

259250 3
259250 3

Stap 3. Klik op het menu Invoegen en selecteer Nieuwe module

Dit opent een modulevenster in het rechterpaneel van de editor.

U kunt de door de gebruiker gedefinieerde functie in het werkblad zelf maken zonder een nieuwe module toe te voegen, maar dan kunt u de functie niet gebruiken in andere werkbladen van dezelfde werkmap

259250 4
259250 4

Stap 4. Maak de koptekst van uw functie

Op de eerste regel geeft u de functie een naam en definieert u ons assortiment. Vervang "FunctionName" door de naam die u aan uw aangepaste functie wilt toewijzen. De functie kan zoveel parameters hebben als u wilt, en hun typen kunnen elk van de basisgegevens of objecttypen van Excel zijn als Bereik:

Functie FunctieNaam (param1 Als type1, param2 Als type2) Als retour Type

U kunt parameters beschouwen als de "operanden" waarop uw functie zal reageren. Als u bijvoorbeeld SIN(45) gebruikt om de sinus van 45 graden te berekenen, wordt 45 als parameter genomen. Dan zal de code van uw functie die waarde gebruiken om iets anders te berekenen en het resultaat te presenteren

259250 5
259250 5

Stap 5. Voeg de code van de functie toe

Zorg ervoor dat u de waarden gebruikt die door de parameters worden geleverd, wijs het resultaat toe aan de naam van de functie en sluit de functie met "End Function". Leren programmeren in VBA of in een andere taal kan enige tijd duren en een gedetailleerde tutorial. Functies hebben echter meestal kleine codeblokken en gebruiken zeer weinig functies van de taal. Enkele nuttige elementen zijn:

  • Het If-blok, waarmee u een deel van de code alleen kunt uitvoeren als aan een voorwaarde is voldaan. Let op de elementen in een If-codeblok: IF-voorwaarde THEN-code ELSE-code END IF. Het Else-sleutelwoord samen met het tweede deel van de code zijn optioneel:

    Functie Cursusresultaat (cijfer als geheel getal) As String If cijfer >= 5 Then CourseResult = "Goedgekeurd" Anders CourseResult = "Rejected" End If End Functie

  • Het Do-blok, dat een deel van de code uitvoert terwijl of totdat aan een voorwaarde is voldaan. Let in de onderstaande voorbeeldcode op de elementen DO code LOOP WHILE/UNTIL condition. Let ook op de tweede regel waarin een variabele wordt gedeclareerd. U kunt variabelen aan uw code toevoegen, zodat u ze later kunt gebruiken. Variabelen fungeren als tijdelijke waarden in de code. Let ten slotte op de declaratie van de functie als BOOLEAN, een gegevenstype dat alleen de waarden TRUE en FALSE toestaat. Deze methode om te bepalen of een getal een priemgetal is, is verreweg niet optimaal, maar ik heb het zo gelaten om de code leesbaarder te maken.

    Functie IsPrime(waarde As Integer) As Boolean Dim i As Integer i = 2 IsPrime = True Do If value / i = Int(value / i) Then IsPrime = False End If i = i + 1 Loop While i < value And IsPrime = True End-functie

  • Het For-blok voert een bepaald aantal keren een deel van de code uit. In dit volgende voorbeeld ziet u de elementen FOR variabele = ondergrens TO bovengrenscode NEXT. U ziet ook het toegevoegde ElseIf-element in het If-statement, waarmee u meer opties kunt toevoegen aan de uit te voeren code. Bovendien resulteert de declaratie van de functie en de variabele als Long. Het gegevenstype Long staat waarden toe die veel groter zijn dan Integer:

    Public Function Factorial (waarde als geheel getal) As Long Dim resultaat As Long Dim i As Integer If waarde = 0 Dan resultaat = 1 ElseIf waarde = 1 Dan resultaat = 1 Anders resultaat = 1 Voor i = 1 Naar waarde resultaat = resultaat * i Volgende End If Factorial = resultaat End Function

259250 6
259250 6

Stap 6. Sluit de Visual Basic Editor

Nadat u uw functie hebt gemaakt, sluit u het venster om terug te keren naar uw werkmap. Nu kunt u uw door de gebruiker gedefinieerde functie gaan gebruiken.

259250 7
259250 7

Stap 7. Vul je functie in

Klik eerst op de cel waarin u de functie wilt invoeren. Klik vervolgens op de functiebalk bovenaan Excel (die met de fx links ervan) en typ =FUNCTIENAAM(), waarbij u FUNCTIENAAM vervangt door de naam die u aan uw aangepaste functie hebt toegewezen.

U kunt uw door de gebruiker gedefinieerde formule ook vinden in de categorie "Door gebruiker gedefinieerd" in de Formule invoegen wizard-klik gewoon op de fx om de wizard te openen.

259250 8
259250 8

Stap 8. Voer de parameters tussen haakjes in

Bijvoorbeeld =NumberToLetters(A4). De parameters kunnen van drie typen zijn:

  • Constante waarden die rechtstreeks in de celformule worden getypt. Strings moeten in dit geval worden geciteerd.
  • Celverwijzingen zoals B6 of bereikverwijzingen zoals A1:C3. De parameter moet van het datatype Range zijn.
  • Andere functies die in uw functie zijn genest. Uw functie kan ook in andere functies worden genest. Voorbeeld: =Factoriaal(MAX(D6:D8)).
259250 9
259250 9

Stap 9. Druk op ↵Enter of ⏎ Keer terug om de functie uit te voeren.

De resultaten worden weergegeven in de geselecteerde cel.

Video - Door deze service te gebruiken, kan bepaalde informatie worden gedeeld met YouTube

Tips

  • Gebruik een naam die nog niet als functienaam in Excel is gedefinieerd, anders kunt u slechts één van de functies gebruiken.
  • Telkens wanneer u een codeblok schrijft binnen een controlestructuur zoals If, For, Do, enz., zorg er dan voor dat u het codeblok laat inspringen met een paar spaties of de Tab-toets. Dat maakt uw code gemakkelijker te begrijpen en u zult veel gemakkelijker fouten opsporen en verbeteringen aanbrengen.
  • Als u niet weet hoe u de code voor een functie moet schrijven, raadpleegt u Een eenvoudige macro schrijven in Microsoft Excel.
  • Een functie heeft mogelijk niet alle parameters nodig om een resultaat te berekenen. In dat geval kunt u het trefwoord Optioneel gebruiken voor de naam van de parameter in de functiekop. U kunt IsMissing(parameter_name) in de code gebruiken om te bepalen of aan de parameter een waarde is toegewezen of niet.
  • Excel heeft veel ingebouwde functies en de meeste berekeningen kunnen worden gedaan door ze afzonderlijk of in combinatie te gebruiken. Zorg ervoor dat u de lijst met beschikbare functies doorloopt voordat u uw eigen functies begint te coderen. De uitvoering kan sneller zijn als u de ingebouwde functies gebruikt.

Waarschuwingen

  • De functies die in dit artikel worden gebruikt, zijn geenszins de beste manier om de gerelateerde problemen op te lossen. Ze werden hier alleen gebruikt om het gebruik van de controlestructuren van de taal uit te leggen.
  • VBA heeft, net als elke andere taal, verschillende andere besturingsstructuren naast Do, If en For. Die zijn hier alleen uitgelegd om te verduidelijken wat voor soort dingen er in de functiebroncode kunnen worden gedaan. Er zijn veel online tutorials beschikbaar waar je VBA kunt leren.
  • Vanwege beveiligingsmaatregelen kunnen sommige mensen macro's uitschakelen. Zorg ervoor dat u uw collega's laat weten dat het boek dat u ze stuurt macro's bevat en dat ze erop kunnen vertrouwen dat ze hun computers niet zullen beschadigen.

Aanbevolen: