Skip to the content

Dit blog gaat over het maken van eigen functies in Excel VBA

Als voorbeeld gebruik ik een functie om samengestelde rente te berekenen.

Open Excel en maak een nieuwe lege werkmap aan. Om een functie te kunnen maken moeten we eerst de button [Visual basic] toevoegen aan het snelmenu. Het waarom wordt verder in dit blog duidelijk. Klik hiervoor op de knop [Werkbalk snelle toegang aanpassen] zoals in het onderstaande voorbeeld en klik op de optie [Meer opdrachten].

Je kunt ook het tabblad ontwikkelaars toevoegen. Hoe? Bekijk hier de instructie

Reinder.eu | Meer opdrachten VBA

 

Selecteer in het scherm dat nu wordt geopend in het drop down menu [Kies opdrachten uit] de optie [Tabblad voor ontwikkelaars]

Reinder.eu | Tabblad voor ontwikkelaars

 

Selecteer uit de lijst met opdrachten [Visual Basic] en klik op [toevoegen] en vervolgens op [Ok].

Reinder.eu | Visual Basic toevoegen

 

Het scherm wordt afgesloten en in de werkbalk 'snelle toegang' is nu een nieuw icoontje bijgekomen.

VBA Editor in snelmenu | Reinder.eu

 

Met dit icoontje krijg je toegang tot de Visual Basic sectie van het Excel bestand waar je zelf kunt gaan programmeren. Dit programmeren kan heel complex zijn maar ook veel tijd besparen, dus het is zeker de moeite waard om je erin te verdiepen. In het blog gaan we eenvoudig van start door te klikken op het nieuwe icoontje [Visual Basic] waardoor er een nieuw scherm wordt geopend. Voor de lezers die niet bekend zijn met VBA (Visual Basic for Applications) is dit een vreemd scherm en ook hiervoor geldt: begin eenvoudig en lees ervaringen van andere gebruikers op diverse fora.

We beginnen met het klikken met de rechtermuisknop op de map [Modules] en voegen nu eerst een module toe. Aan de rechterzijde van het VBA venster wordt nu een soort tekst verwerker geopend.

module aanmaken VBA | Reinder.eu

 

Maak nu je eigen functie volgens onderstaand voorbeeld of kopieer en plak de functie. Leer jezelf aan om de werking van de functie te beschrijven (zie de groene tekst)

'Onderstaande functie berekend de samengestelde rente waarbij
'PV = Bedrag dat wordt geleend
'R = De rente in procenten per periode die moet worden betaald
'N = Het aantal periodes

Function Samengestelde_Rente(PV As Double, R As Double, N As Double) As Double

    Samengestelde_Rente = (PV * (1 + R) ^ N) - PV

End Function


Sla de wijzigingen in het VBA scherm op en sluit het VBA scherm, waardoor je terugkeert naar het werkblad. Je eerste functie is nu bruikbaar in dit werkblad.

 Reinder.eu | Maak nu uw eigen functie VBA

 

Het opvragen van de functie kan ook met de functiebutton op het tabblad [Formules].

Selecteer de categorie [Door gebruiker gedefinieerd].

De nieuw gemaakt functie wordt nu getoond en je kunt deze selecteren en op [OK] klikken waardoor onderstaand scherm zal worden geopend en je met deze wizard de functie kunt uitvoeren.

Om er een AddIn van te maken, waardoor de functie in ieder ander Excel document bruikbaar wordt, moet het bestand nu worden opgeslagen als AddIn. Klik hiervoor op [Opslaan als] en kies de optie [Excel-werkmap met ingeschakelde macro’s].

Geef het bestand een duidelijke naam (bijvoorbeeld MijnFunctieSamengesteldeRente] en selecteer als bestandstype [Opslaan als] de optie [Excel-invoegtoepassing (*.xlam)]

Nu is de functie bijna bruikbaar in alle overige Excel documenten, maar daarvoor moeten we nog 1 stap zetten.

Sluit nu alle Excel documenten af en open Excel opnieuw.

Klik op de office button en vervolgens op [Opties voor Excel]

Klik vervolgens op [Invoegtoepassingen] en op [Start] bij beheren [Excel-invoegtoepassingen]

Selecteer in het vervolgscherm je opgeslagen functie en klik op [OK]. Nu kun je de functie gaan gebruiken in het nieuwe werkblad.