Excel heeft een uitgebreide functiebibliotheek met veel verschillende formules in diverse categorieën. Maar wat doe je als je een formule nodig hebt die nog niet bestaat in Excel? In deze blog laat ik zien hoe je zelf nieuwe Excel-formules kunt maken met VBA.


De Excel Functiebibliotheek

Stel dat we een formule willen maken die de Body Mass Index (BMI) berekent. Deze berekening kun je ook prima zelf maken door de berekening in een cel in te typen waarbij we het gewicht in kilogram delen door de lengte in meters:


Handmatige berekening van de BMI

Laten we eens een VBA-functie schrijven waarmee we de berekening van de BMI nog simpeler maken, door alleen het gewicht en de lengte op te geven:

De gemaakte formule kunnen we direct gebruiken in een cel op het werkblad:

De formule BODYMASSINDEX wordt opgeslagen in de categorie “Door gebruiker gedefinieerd” van de Functiebibliotheek. Als we links van de formulebalk op het fx-teken klikken kunnen we de formule vinden met de zoekfunctie:

De omschrijving van de functie kun je toevoegen in de Object Browser in de VBA editor:

Enkele opmerkingen:

  • Het gebruik van zelf gedefinieerde functies is vooral handig bij uitgebreidere en/of complexere berekeningen. Je verplaatst de complexiteit van je werkblad naar je VBA-code, waarbij je enkel de parameters doorgeeft in je functie in plaats van de berekening zelf in het werkblad op te bouwen;
  • Je kunt zelf gedefinieerde functies zowel op Werkmap-niveau als op Applicatieniveau opslaan in je persoonlijke macro werkmap (personal.xlsb) die in de Excel startup directory staat. Vergeet nooit je functies of je persoonlijke macro werkmap elders te back-up’en zodat je niets kwijtraakt bij het opnieuw installeren van Office of Windows.