Ga naar hoofdinhoud

VBA Excel: hoe je begint en je werk makkelijker maakt

Leer hoe je VBA in Excel effectief gebruikt om taken te automatiseren, macro’s te maken en je vaardigheden in gegevensverwerking te verbeteren met praktische voorbeelden en best practices.
Bijgewerkt 2 jun 2026  · 10 min lezen

Visual Basic for Applications (VBA) in Excel is een taal waarmee je repetitieve taken kunt automatiseren en de functionaliteit van Excel ver voorbij de standaardfuncties kunt uitbreiden. Dus of je nu een beginner bent die productiever wil worden of een gevorderde gebruiker die complexe workflows wil stroomlijnen, VBA is er om het je makkelijker te maken.

In deze gids leg ik basis- en gevorderde VBA-concepten uit. Maar als je nieuw bent met Excel, begin dan met Excel Fundamentals om een solide basis op te bouwen voordat je met VBA aan de slag gaat.

Wat is VBA in Excel?

Visual Basic for Applications (VBA) is een programmeertaal die wordt gebruikt om taken te automatiseren en de functionaliteit van Microsoft Office-toepassingen uit te breiden. Je kunt het gebruiken met Excel, Word, Access en andere Office-programma’s, hoewel het waarschijnlijk het meest wordt gebruikt voor het maken van aangepaste macro’s in Excel, waar we naar gaan kijken.

Zelf gebruikte ik VBA voor het eerst om een wekelijks rapport te automatiseren dat handmatig uren kostte om samen te stellen. Met een paar regels code bracht ik het terug tot één druk op de knop en bespaarde ik veel tijd. Vanaf dat moment wist ik dat wat tijd investeren in het onder de knie krijgen ervan enorm zou lonen in productiviteit.

Belangrijke VBA-termen in Excel

Voordat je met VBA werkt, is het belangrijk om de belangrijkste termen en concepten te begrijpen. Hier is een lijst met veelgebruikte termen die je tegenkomt wanneer je begint met het automatiseren van taken en het bouwen van aangepaste oplossingen in Excel.

  • Modules zijn de containers voor VBA-code, waar procedures en functies worden opgeslagen.

  • Objecten zijn de bouwstenen van VBA. Ze vertegenwoordigen elementen zoals werkmappen, werkbladen en cellen.

  • Procedures zijn codeblokken die specifieke taken uitvoeren, vaak onderverdeeld in subprocedures of functies.

  • Statements zijn de instructies binnen een procedure die Excel (of Word of Access) vertellen welke acties moeten worden uitgevoerd.

  • Variabelen slaan gegevens op die binnen je code kunnen worden gebruikt en aangepast.

  • Logische operatoren vergelijken waarden en nemen beslissingen op basis van de resultaten. Ze omvatten operatoren zoals And, Or en Not.

Aan de slag met VBA in Excel

Om VBA te gebruiken, moet je de VBA-editor openen. Hier schrijf en bewerk je je VBA-code. Laten we bekijken hoe je daar komt:

Het tabblad Ontwikkelaars inschakelen 

De eerste stap is het inschakelen van het tabblad Ontwikkelaars, dat vaak verborgen is op het Lint. Zo doe je dat:

  • Klik met de rechtermuisknop ergens op het Lint

Lint in Excel

Lint in Excel. Afbeelding door de auteur.

  • Selecteer de optie Lint aanpassen...

het lint aanpassen in Excel

Pas het lint aan om het tabblad Ontwikkelaars in te schakelen. Afbeelding door de auteur.

  • Er verschijnt een dialoogvenster. Vink de optie Ontwikkelaars aan en klik op OK.

De optie Ontwikkelaars selecteren in een dialoogvenster en op OK klikken in Excel

De optie Ontwikkelaars selecteren. Afbeelding door de auteur.

Je ziet nu bovenaan het Lint een tabblad Ontwikkelaars.

Tabblad Ontwikkelaars in Excel

Het tabblad Ontwikkelaars is ingeschakeld op het lint. Afbeelding door de auteur.

De VBA-editor openen 

Zodra het tabblad Ontwikkelaars is ingeschakeld, kun je de VBA-editor openen. Klik daarvoor op het tabblad Ontwikkelaars en selecteer Visual Basic uit de opties. Je kunt ook de sneltoets ALT + F11 gebruiken om de VBA-editor direct te openen.

Interface van de VBA-editor in Excel

VBA-editor. Afbeelding door de auteur.

De VBA-editor lijkt in het begin misschien intimiderend, maar hij is eenvoudig te gebruiken. Laten we een paar belangrijke onderdelen bekijken:

  • Codevenster is waar je je VBA-code schrijft en bewerkt.
  • Projectverkenner toont een hiërarchisch overzicht van de projecten en modules in je werkmap.
  • Eigenschappenvak toont eigenschappen voor geselecteerde objecten om hun instellingen aan te passen.

Interface van VBA in Excel

VBA-interface in Excel. Afbeelding door de auteur.

VBA-code schrijven in Excel

Nu je de VBA-editor kent, is het tijd om wat code te schrijven. VBA-code bestaat uit verschillende onderdelen, zoals subprocedures en functies. Dit zijn reeksen instructies die Excel vertellen wat het moet doen. Geen zorgen als je nog nooit hebt geprogrammeerd – ik neem het stap voor stap met je door. 

Een VBA-subroutine schrijven

Voordat je een macro schrijft, moet je een macro-omgeving creëren. Volg hiervoor deze stappen:

  • Selecteer in de VBA-editor Insert > Module. Er wordt een nieuwe module gemaakt met de standaardnaam Module1. 

Een nieuwe module invoegen in VBA

Selecteer Module onder het tabblad Insert. Afbeelding door de auteur.

  • Je kunt de naam van de module wijzigen in het venster Eigenschappen.

De nieuw gemaakte module hernoemen in VBA in Excel

De VBA-module hernoemen. Afbeelding door de auteur.

Nu je weet hoe je de omgeving voor het maken van een macro instelt, maken we samen onze eerste macro om een bericht weer te geven. Standaard wordt het codevenster geopend wanneer de module is gemaakt. Als dat bij jou niet zo is, klik dan met de rechtermuisknop op de gemaakte module en klik op View Code. Het codevenster verschijnt waarin je je macro’s kunt schrijven.

Hier maak ik een macro om het bericht Hello, World! weer te geven. Daarvoor schrijf ik de volgende code in het codevenster:

Sub ShowMessage()
    MsgBox "Hello, World!"
End Sub 

Hier:

  • Sub is het sleutelwoord voor een subroutine, een codeblok dat een specifieke taak uitvoert. In VBA geeft een subroutine geen waarde terug.

  • ShowMessage is de naam van de subroutine. Je kunt het noemen zoals je wilt, zolang het voldoet aan de VBA-benoemingsregels (bijv. geen spaties, mag niet met een cijfer beginnen).

  • () worden hier gebruikt om de parameters van de subroutine te definiëren. Omdat er voor deze taak geen parameters nodig zijn, blijven de haakjes leeg.

  • MsgBox is een ingebouwde VBA-functie die een berichtvenster op het scherm weergeeft. 

  • End Sub geeft het einde van de subroutine aan. Alles tussen Sub en End Sub is de code die wordt uitgevoerd wanneer de subroutine wordt aangeroepen.

  • Tekststrings in VBA staan tussen dubbele aanhalingstekens. Hier willen we dat de string Hello, World! in het berichtvenster verschijnt.

Een VBA-macro schrijven in een codevenster in Excel

Een macro schrijven. Afbeelding door de auteur.

  • Nu is het tijd om de code uit te voeren. Gebruik de sneltoets F5. Als je het handmatig wilt doen, ga dan naar het tabblad Ontwikkelaars en selecteer Macro’s. Klik op Uitvoeren. 

Selecteer de optie Macro’s onder het tabblad Ontwikkelaars en voer de macro uit in Excel

Selecteer de optie Macro’s onder het tabblad Ontwikkelaars. Afbeelding door de auteur.

Je ziet nu het berichtvenster op je Excel-blad verschijnen.

berichtvenster in Excel

Berichtvenster. Afbeelding door de auteur.

Objecten in VBA begrijpen 

In VBA kun je met objecten verschillende elementen in Excel aansturen en taken automatiseren voor een efficiëntere workflow. Er zijn drie kernobjecten: Workbook, Worksheet en Range. We bekijken elk met een praktisch voorbeeld.

Het Workbook-object is elk Excel-bestand dat momenteel open is. Hiermee kun je acties uitvoeren zoals nieuwe bladen toevoegen of bestaande bladen in de werkmap opslaan. In dit voorbeeld wil ik een blad toevoegen aan het momenteel geopende bestand en het daarna opslaan. Eerst had ik Sheet1. Om een ander blad toe te voegen, schrijf ik de volgende code:

Sub AddSheetAndSaveWorkbook()
    ' Adds a new worksheet to the active workbook
   ActiveWorkbook.Sheets.Add
    
    ' Saves the workbook
    ActiveWorkbook.Save
End Sub

Deze code werkt precies hetzelfde als de vorige code, maar ik heb hier opmerkingen toegevoegd. Opmerkingen beginnen met ' en hebben geen invloed op je code. We voegen ze alleen toe voor onze eigen duidelijkheid.

Je ziet dat er nu een ander blad is gemaakt, Sheet2.

Een nieuw blad toevoegen en opslaan in het bestaande blad met VBA in Excel

Een nieuw blad toevoegen en opslaan in het bestaande bestand met VBA. Afbeelding door de auteur.

Het object Worksheet vertegenwoordigt het momenteel actieve blad in Excel. Hiermee kun je het actieve blad aanpassen of bewerken. Ik wil bijvoorbeeld de naam van het actieve blad wijzigen. Daarvoor voer ik de volgende code in:

Sub RenameActiveSheet()
    ' Renames the active sheet to "Sales Report".
    ActiveSheet.Name = "Sales Report"
End Sub

Code om de naam van het werkblad te wijzigen met VBA in Excel

De naam van het werkblad wijzigen met VBA. Afbeelding door de auteur.

Nu is Sheet1 hernoemd naar Sales Report.

Het werkblad is hernoemd met VBA in Excel

Het Excel-werkblad hernoemen met VBA. Afbeelding door de auteur.

Het object Range verwijst naar een specifieke groep cellen of een enkele cel die we naar wens kunnen bewerken.  In het volgende voorbeeld selecteer ik een celbereik van F3 tot I3 en wijzig ik de achtergrondkleur. Daarvoor schrijf ik de volgende code:

Sub FormatRange()
    ' Selects the range from A1 to C6
    Range("F3:I3"). Select
    
    ' Changes the background color of the selected range to Green
    Selection.Interior.Color = RGB(101, 255, 143)
End Sub

Code om de kleur van het geselecteerde bereik te wijzigen met VBA in Excel

Bereik selecteren en de kleur wijzigen met VBA. Afbeelding door de auteur.

Je ziet het verschil in resultaten. 

Resultaten van het wijzigen van de kleur van het geselecteerde bereik met VBA in Excel

De kleur wijzigen met VBA in Excel. Afbeelding door de auteur.

Variabelen maken in VBA

Net als in andere programmeertalen slaan VBA-variabelen grofweg twee hoofdtypen gegevens op: getallen en tekst. Om ze in VBA te gebruiken, moet je de variabele eerst declareren met het sleutelwoord naar keuze, gevolgd door de variabelenaam en het gegevenstype.

Keyword variableName As DataType

Hier: 

  • Keyword kan Dim, Static, Public en Private zijn.

  • variableName verwijst naar de gekozen naam voor deze variabele (geen spaties).

  • As wordt gebruikt om het variabeletype te declareren.

  • DataType verwijst naar het variabeletype, zoals Integer.

Bij het werken met variabelen moet je je ook aan enkele regels houden:

  • De lengte moet minder dan 255 tekens zijn.
  • Er zijn geen spaties toegestaan tussen tekens.
  • De naam mag niet beginnen met een cijfer.
  • Gebruik geen punten in de naam.

Numeriek gegevenstype

Numerieke gegevenstypen in VBA worden gebruikt om numerieke waarden op te slaan.

Gegevenstype Opgeslagen Bereik van waarden
Byte 1 Byte Slaat gehele getallen van 0 tot 255 op
Integer 2 Byte Slaat gehele getallen op binnen het bereik van -32.768 tot 32.767
Long 4 Bytes Slaat grotere gehele getallen op, variërend van -2.147.483.648 tot 2.147.483.647
Single 4 Bytes Slaat decimale getallen met single-precision op
Double 8 Bytes Slaat decimale getallen met double-precision op
Currency 8 Bytes Slaat getallen met vaste decimalen op
Variant (tekst) Tekstlengte + 22 bytes 0 tot 2 miljard tekens

Niet-numeriek gegevenstype

Niet-numerieke gegevenstypen in VBA slaan waarden op die geen getallen zijn.

Gegevenstype Opgeslagen Bereik van waarden
String Stringlengte Slaat tekst op
Date 8 Bytes Slaat datum en tijd op
Boolean 2 Bytes Slaat True of False op
Variant 16 Bytes Slaat elk gegevenstype op en wordt gebruikt wanneer het type niet vooraf bekend is

Taken automatiseren met VBA Excel-macro’s

Macro’s zijn in wezen een reeks instructies die in VBA zijn gemaakt om repetitieve taken uit te voeren. Met een macro kun je een reeks acties opnemen, zoals cellen opmaken, gegevens kopiëren of berekeningen uitvoeren. Nadat je de macro hebt opgeslagen, kun je deze acties met één klik opnieuw toepassen. Dit bespaart tijd, vooral bij grote datasets of taken.

Als je je rapporten bijvoorbeeld vaak op dezelfde manier opmaakt, kun je een macro opnemen die alle benodigde opmaakstappen toepast in plaats van het elke keer handmatig te doen. Later kun je deze macro uitvoeren om nieuwe gegevens op te maken. We hebben een paar basisvoorbeelden laten zien, maar stel je voor dat je met één klik nog veel meer kleine acties kunt uitvoeren. Zelfs zonder codeerervaring kun je routinetaken automatiseren om je workflow te stroomlijnen en de kans op fouten te verkleinen die kunnen optreden bij handmatige repetitieve handelingen.

Een Excel-macro opnemen 

Laten we bekijken hoe je een macro opneemt om wat opmaakwijzigingen te doen:

  • Ga naar het tabblad Ontwikkelaars > knop Macro opnemen
  • Er verschijnt een dialoogvenster. Geef je macro een naam, zoals ik deed met FormatCells.
  • Wijs desgewenst een sneltoets toe. Ik heb Ctrl+S toegewezen.
  • Klik op OK om te beginnen met opnemen.

Nu de macro begint met opnemen, voer je de acties uit die je wilt automatiseren. In dit voorbeeld neem ik enkele opmaakwijzigingen op in een eenvoudige tabel. Als je klaar bent, ga je terug naar het tabblad Ontwikkelaars en klik je op de knop Opname stoppen. Hieronder zie je de macro in actie.

Een macro opnemen met VBA in Excel. Gif door de auteur.

Als je nu een andere dataset in een ander blad hebt en je wilt daar dezelfde opmaak toepassen, druk dan in plaats van alles opnieuw op te maken op de sneltoets die je hebt gemaakt (in mijn geval Ctrl+S). Of ga naar sheet2 > tabblad Ontwikkelaars > Macro’s > Uitvoeren om het handmatig te doen.

De Excel-macro gebruiken. Gif door de auteur.

Excel-macro’s bewerken 

Na het opnemen van een macro kun je de acties zelfs nog aanpassen of verfijnen. Zo doe je dat: 

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basics
  • De VBA-editor verschijnt. Zoek nu in de Projectverkenner de werkmap waarin je macro is opgeslagen. 
  • Vouw de map Modules uit en dubbelklik vervolgens op de module die je macro bevat. Het codevenster toont de VBA-code van je opgenomen macro.

Illustratie van de code die is uitgevoerd bij het opnemen van een macro in Excel

Code van opgenomen macro in Excel. Afbeelding door de auteur.

Elke coderegel toont de actie die je tijdens het opnemen hebt uitgevoerd. Vanaf hier kun je de opgenomen code aanpassen om de macro naar wens te personaliseren. In mijn geval heb ik Selection.Font.Bold op False gezet om de vette opmaak te verwijderen. Als de bewerkingen klaar zijn, sla je de wijzigingen op door op de opslaan-knop te klikken of druk op Ctrl+S en voer de code uit om de wijzigingen toe te passen. De macro aanpassen in VBA in Excel

De Excel VBA-macro aanpassen. Afbeelding door de auteur.

Na het uitvoeren van je macro zie je het resultaat — de eerder vetgedrukte kolommen zijn niet langer vet. 

Resultaten van de macro die handmatig is bewerkt in VBA Excel

Een macro gebruiken in Excel. Afbeelding door de auteur

Aangepaste Excel-macro’s schrijven 

Soms zijn er geavanceerde taken waarvoor je geen macro kunt opnemen. In zulke gevallen moet je een macro vanaf nul schrijven. Ik wil bijvoorbeeld gegevens van het ene werkblad naar het andere kopiëren. Zo schrijf ik een aangepaste macro:

  • Open de VBA-editor handmatig in het eerste blad of druk op Alt+F11.
  • Voeg een nieuwe module in.
  • Schrijf de volgende code in het codevenster.
Sub CopyData()
Sheets("Sheet1").Range("B1:E21").Copy Destination:=Sheets("Sheet2").Range("B1")
End Sub
  • Sla de macro op en klik op Uitvoeren.

Nu zie je dat de gegevens van Sheet1 zijn gekopieerd naar Sheet2.

Stapsgewijze gids voor het schrijven van een aangepaste macro in VBA in Excel

Een aangepaste macro schrijven met VBA. Gif door de auteur.

Tot slot 

Van het automatiseren van repetitieve taken tot het maken van complexe macro’s: VBA opent een wereld aan mogelijkheden binnen Excel. Naarmate je je comfortabeler voelt met de basis, oefen je met het schrijven van code en verken je geleidelijk de geavanceerdere functies van VBA. Onthoud: de sleutel tot het beheersen van VBA—of welke programmeertaal dan ook—is consistent oefenen en durven experimenteren. Wil je je skills verder uitbreiden, bekijk dan deze extra bronnen. De cursussen Data Analysis in Excel en Learn Excel zijn uitstekend om meer te leren over de functies van Excel. 

Als je je programmeerkennis verder wilt uitbreiden dan VBA, biedt de gids How to Become a Programmer in 2024 een stappenplan. Bekijk ’m zeker als je interesse hebt in dit vakgebied. Daarnaast is de cursus Financial Modeling in Excel perfect voor wie gedetailleerde financiële modellen wil maken.


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Ik ben een contentstrateeg die graag complexe onderwerpen eenvoudig maakt. Ik heb bedrijven als Splunk, Hackernoon en Tiiny Host geholpen om boeiende en informatieve content te maken voor hun doelgroep.

Veelgestelde vragen over VBA in Excel

Wat is het doel van de instructie Explicit in VBA?

Explicit zorgt ervoor dat alle variabelen expliciet worden gedeclareerd voordat ze worden gebruikt, waardoor bugs worden verminderd en je code beter te onderhouden is.

Hoe beveilig ik mijn VBA-code met een wachtwoord?

Je kunt je VBA-code beveiligen door naar de VBA-editor > Tools > VBAProject Properties > tabblad Protection te gaan. Vink de optie Lock project for viewing aan en stel een wachtwoord in.

Wat is het verschil tussen ActiveWorkbook en ThisWorkbook in VBA?

ActiveWorkbook verwijst naar de werkmap die momenteel in focus is, die mogelijk niet de VBA-code bevat. Thisworkbook verwijst naar de werkmap waarin de VBA-code zich bevindt, ongeacht welke werkmap actief is.

Wat zijn UserForms in VBA en hoe kunnen ze worden gebruikt?

UserForms zijn aangepaste dialoogvensters in VBA waarmee gebruikers gegevens kunnen invoeren. Ze kunnen worden gebruikt om interactieve formulieren te maken voor gegevensinvoer, selectie of gebruikersinteractie die een aangepaste interface vereist.

Onderwerpen

Leer Excel en VBA met DataCamp

Leerpad

Basisprincipes van Excel

16 Hr
Leer de basisvaardigheden die je nodig hebt om Excel te gebruiken, van het voorbereiden van gegevens tot het schrijven van formules en het maken van visualisaties. Je hoeft geen ervaring te hebben.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien