Hoe een door de gebruiker gedefinieerde functie in Microsoft Excel te maken
Hoewel Excel vele, misschien honderden, geïntegreerde functies heeft, zoals SUMAR, VERT.ZOEKEN, LINKS, en anderen, zodra u het begint te gebruiken om meer gecompliceerde taken uit te voeren, zult u ontdekken dat u een functie nodig hebt die niet bestaat. Maak je geen zorgen, je bent niet helemaal verloren, je hoeft alleen die functie zelf te maken.
stappen
1
Maak een nieuw boek of open een boek waarin u de door de gebruiker gedefinieerde functie wilt gebruiken (ook bekend als "UDF", op zijn acroniem in het Engels) nieuw gemaakt.
2
Open de Visual Basic-editor, die zich in Microsoft Excel bevindt door naar Tools te gaan > macro > Visual Basic Editor (of door op Alt + F11 te drukken).
3
Voeg een nieuwe module toe aan het boek door op de getoonde knop te klikken. U kunt de door de gebruiker gedefinieerde functie in dezelfde spreadsheet maken zonder een nieuwe module toe te voegen, maar hierdoor kunt u deze niet gebruiken in andere werkbladen binnen hetzelfde boek.
4
Maak het uitgangspunt van de functie. Het moet de volgende structuur hebben:
functie: "Naam van de functie" (param1 As type1, param2 As type2) As Soort rendement.Dit kan het aantal gewenste parameters hebben en het type kan een van de standaard Excel-gegevenstypen of objecttypen zijn, zoals "rang". Stel je voor dat de parameters de zijn "operanden" waarmee uw functie zal werken. Als u bijvoorbeeld SEN (45) zegt om de sinus van 45 graden te berekenen, wordt dat aantal als een parameter genomen. Daarom gebruikt de code van uw functie die waarde om iets anders te berekenen en het resultaat te presenteren.
functie: "Naam van de functie" (param1 As type1, param2 As type2) As Soort rendement.Dit kan het aantal gewenste parameters hebben en het type kan een van de standaard Excel-gegevenstypen of objecttypen zijn, zoals "rang". Stel je voor dat de parameters de zijn "operanden" waarmee uw functie zal werken. Als u bijvoorbeeld SEN (45) zegt om de sinus van 45 graden te berekenen, wordt dat aantal als een parameter genomen. Daarom gebruikt de code van uw functie die waarde om iets anders te berekenen en het resultaat te presenteren.
5
Voeg de functiecode toe en zorg ervoor dat 1) de waarden gebruikt die door de parameters worden verstrekt- 2) wijs het resultaat toe aan de naam van de functie en 3) sluit de functie met de zin "Eindfunctie". Leren programmeren in VBA of in een ander type programmeertaal kan enige tijd duren en vereist een gedetailleerde zelfstudie. Functies hebben echter meestal kleine codeblokken en gebruiken maar heel weinig functies van een programmeertaal. De nuttigste elementen van de VBA-taal zijn:
Functie Course result (As Integer grade) As String
Als cijfer >= 5 dan
Resultaat = "aangenomen"
anders
Resultaat = "verworpen"
Einde als
Eindfunctie
Observeer de elementen in een codeblok Als:
IF-conditie DAN code ELSE-code END IF
. Het sleutelwoord Anders (anders) samen met het tweede deel van de code zijn optioneel.Functie EsPrimo (waarde als geheel getal) Als Boolean
Dim i As Integer
i = 2
IsPrime = Waar
do
Als waarde / i = Int (waarde / i) Dan
EsPrimo = False
Einde als
i = i + 1
Loop While i Eindfunctie
Kijk nog eens naar de elementen:
OD code LOOP WHILE / UNTIL conditie
. Let ook op de tweede regel waarin "het is verklaard" een variabele. U kunt variabelen aan de code toevoegen, zodat u ze later kunt gebruiken. De variabelen fungeren als tijdelijke waarden binnen de code. Kijk ten slotte naar de verklaring van de functie als BOOLEAN. Dit is een gegevenstype dat alleen de waarden TRUE (true) en FALSE (false) toestaat. Deze methode om te bepalen of een nummer prime is, is niet erg optimaal, maar het is zo gebleven om de code leesbaarder te maken.Functie Factoriaal (waarde als geheel getal) As Long
Dimresultaat As Long
Dim i As Integer
Als waarde = 0 Dan
resultaat = 1
Anders Als waarde = 1 Vervolgens
resultaat = 1
anders
resultaat = 1
Voor i = 1 Om te waarderen
resultaat = resultaat * i
volgende
Einde als
Factorie = resultaat
Eindfunctie
Kijk nog eens naar de elementen:
FOR variable = lower limit TO upper limit code VOLGENDE
. Let ook op het toegevoegde element Anders dan in de verklaring If, waarmee meer opties aan de code kunnen worden toegevoegd die zal worden uitgevoerd. Kijk tenslotte naar de verklaring van de functie en de variabele "resultaat" als Long. Het type gegevens Long staat veel hogere waarden toe dan Integer.De code voor een functie die kleine getallen omzet in woorden, wordt hieronder weergegeven.
6
Ga terug naar het boek en gebruik de functie die begint met de inhoud van een cel met een bord gelijk (=) gevolgd door de naam van uw functie. Aan de naam van de functie voegt u een openingshaakje toe, de parameters gescheiden door komma`s en een haakje sluiten. Bijvoorbeeld:
= NumberToLetters (A4)
U kunt ook de formule gebruiken die is gedefinieerd door de gebruiker die ernaar op zoek is in de categorie Functies gedefinieerd door de gebruiker in de formule-assistent "invoegen". Klik op de knop Fx links van de formulebalk. De parameters kunnen uit drie soorten zijn:
= NumberToLetters (A4)
U kunt ook de formule gebruiken die is gedefinieerd door de gebruiker die ernaar op zoek is in de categorie Functies gedefinieerd door de gebruiker in de formule-assistent "invoegen". Klik op de knop Fx links van de formulebalk. De parameters kunnen uit drie soorten zijn:
7
Controleer of de waarde correct is nadat u de functie verschillende keren hebt gebruikt om ervoor te zorgen dat deze op de juiste manier verschillende parameterwaarden verwerkt.
tips
- Elke keer dat je een blok code schrijft binnen een controlestructuur zoals "als", "voor", "do", onder andere, zorg ervoor dat er een inspringing achterblijft in het codeblok dat enkele lege spaties of tabellering achterlaat (de inspringstijl hangt van u af). Hierdoor wordt uw code begrijpelijker en is het ook veel gemakkelijker om fouten te detecteren en verbeteringen aan te brengen.
- Excel heeft veel geïntegreerde functies en de meeste berekeningen kunnen onafhankelijk of in combinatie met anderen worden gedaan. Zorg ervoor dat u de lijst met beschikbare functies bekijkt voordat u begint deze zelf te maken. Het uitvoeren van berekeningen kan sneller als u de ingebouwde functies gebruikt.
- Gebruik een naam die niet is gedefinieerd als de naam van een functie in Excel, maar u kunt er slechts één gebruiken.
- Af en toe vereist een functie mogelijk niet alle parameters om een resultaat te berekenen. In dat geval kunt u het sleutelwoord gebruiken Optioneel voor de naam van de parameter in de functiekop. U kunt de functie gebruiken IsMissing (naam_van_parameter) in de code om te bepalen of de parameter al dan niet aan een waarde is toegewezen.
- Als u niet weet hoe u de code voor een functie moet schrijven, leest u het artikel "Hoe een macro in Excel te maken".
waarschuwingen
- Vanwege beveiligingsmaatregelen kunnen sommige mensen macro`s uitschakelen. Zorg ervoor dat je tegen je collega`s zegt dat het boek dat je ze stuurt macro`s bevat en dat ze erop kunnen vertrouwen dat ze hun computers niet beschadigen.
- De functies die in dit artikel worden gebruikt, zijn zeker niet de enige manier om de gerelateerde problemen op te lossen. Ze werden in het heden alleen gebruikt om het gebruik van de besturingsstructuren van de programmeertaal uit te leggen.
- De VBA heeft, net als bij elke andere programmeertaal, naast verschillende besturingsstructuren "do", "als" en "voor". Deze zijn in dit artikel alleen uitgelegd om het soort dingen te verduidelijken dat kan worden gedaan binnen de broncode van de functie. Er zijn veel tutorials beschikbaar op internet waar je VBA kunt leren.
Delen op sociale netwerken:
Verwant
- Hoe een timer in Visual Basic toe te voegen
- Hoe koppelingen toe te voegen in Excel
- Hoe een kolom in een draaitabel toe te voegen
- Hoe Microsoft Visual Basic te leren
- Hoe rapporten in Excel te automatiseren
- Hoe het gemiddelde en de standaarddeviatie te berekenen met Excel 2007
- Hoe een macro in Excel te maken
- Hoe een regressieanalyse in Excel uit te voeren
- Hoe herhaalde records in Excel 2007 te verwijderen
- Hoe een wachtwoord in te stellen in Excel 2007
- Hoe meervoudige regressies in Excel te doen
- Hoe afbeeldingen invoegen in Microsoft Excel
- Hoe hyperlinks invoegen in Microsoft Excel
- Hoe een functie te roepen in Visual Basic
- Hoe VBA-codes te beschermen
- Hoe twee getallen toevoegen in Visual Basic.Net
- Hoe de Microsoft Excel Add-functie te gebruiken
- Macro`s gebruiken in Excel
- Kolommen toevoegen in Microsoft Excel
- Hoe een spreadsheet te delen
- Hoe word je een Excel-expert?