
Als je merkt dat je in Excel dag in dag uit exact dezelfde reeks klikken, opmaakstappen en gegevensaanpassingen uitvoert, verspil je kostbare tijd. Het goede nieuws is dat Excel een ingebouwde "bandrecorder" heeft die deze acties kan onthouden en ze in een fractie van een seconde opnieuw kan afspelen. Deze tool wordt een Macro genoemd.
Leren hoe je Excel-macro's gebruikt, is vaak de grootste sprong die een gebruiker maakt van een spreadsheet-beginner naar een power user. Automatisering elimineert handmatige fouten bij gegevensinvoer, zorgt voor consistentie en maakt tijd vrij in je agenda voor belangrijkere analyses. In feite is het leren van macro-automatisering de manier waarop veel professionals hun werkdruk drastisch verlagen—je kunt zelfs lezen over hoe een startup wekelijks 20 uur bespaarde met Excel-automatisering.
In deze uitgebreide gids leggen we je precies uit wat een macro is, hoe je de benodigde tools inschakelt en hoe je je allereerste Excel-macro opneemt, uitvoert en bewerkt.
In de kern is een macro een opgenomen reeks acties of opdrachten die je als één enkele opdracht kunt uitvoeren. Achter de schermen vertaalt Excel, wanneer je een macro opneemt, je muisklikken en toetsaanslagen naar een programmeertaal genaamd VBA (Visual Basic for Applications).
Je hoeft niet te weten hoe je VBA-code schrijft om zeer effectieve macro's te maken. Door de functie Macro opnemen te gebruiken, voer je eenvoudig je taak normaal uit—zoals het toepassen van een vetgedrukte opmaak, het invoegen van een IF- of SUM-formule, of het aanpassen van kolombreedtes—en Excel schrijft automatisch de benodigde code voor je.
Standaard zijn de tools die nodig zijn om macro's op te nemen en te beheren verborgen in Excel om te voorkomen dat beginners per ongeluk hun werkmappen wijzigen. Je eerste stap is het inschakelen van het tabblad Ontwikkelaars.
Je zou nu het tabblad Ontwikkelaars op je Excel-lint moeten zien staan naast de tabbladen Beeld of Help. Dit tabblad is je controlecentrum voor alles wat met macro's en automatisering te maken heeft.
Laten we een praktisch praktijkvoorbeeld doornemen. Stel je voor dat je elke ochtend een verkoopgegevensrapport uit de software van je bedrijf exporteert. De ruwe gegevens zien er altijd rommelig uit: de kolommen zijn te smal, de koppen zijn niet opgemaakt en je moet altijd een totaalrij onderaan toevoegen met behulp van een SUM-functie.
In plaats van dit elke dag handmatig te doen, gaan we een macro opnemen om dit rapport onmiddellijk op te maken.
Voordat je op opnemen drukt, is het cruciaal om je stappen te plannen. De Macro-recorder is letterlijk; hij registreert fouten, extra klikken en scrollen. Door je volgorde van tevoren te kennen, zorg je voor een schone, efficiënte macro.
Voor ons voorbeeld gaan we ervan uit dat je gegevens hebt in de kolommen A tot en met D, met koppen in Rij 1. Onze geplande stappen zijn:
=SUM(D2:D100) (ervan uitgaande dat je gegevens tot rij 100 lopen). Druk op Enter.Gefeliciteerd! Je hebt zojuist met succes je eerste macro opgenomen.
Om de kracht te testen van wat je zojuist hebt gebouwd, maken we de opmaak ongedaan. Druk meerdere keren op Ctrl + Z totdat je gegevens terugkeren naar hun lelijke, ruwe staat. Laten we nu de macro uitvoeren om te zien hoe Excel het werk voor je doet.
In minder dan een seconde selecteert Excel de koptekst, past de vetgedrukte en blauwe opmaak toe, wijzigt de grootte van je kolommen en voegt de SUM-functie in. Een taak die handmatig misschien 30 seconden zou duren, duurt nu slechts milliseconden.
Je hoeft geen programmeur te zijn om achter de schermen te kijken. Door te begrijpen welke code Excel genereert, kun je kleine aanpassingen maken zonder dat je de hele macro opnieuw hoeft op te nemen.
Om je code te bekijken, ga je naar het tabblad Ontwikkelaars en klik je op Visual Basic (of druk op Alt + F11). Dit opent de VBA-editor. Dubbelklik aan de linkerkant op Modules en vervolgens op Module1. Je zult zoiets als dit zien:
Sub FormatDailyReport()
'
' FormatDailyReport Macro
' Formats headers, autofits columns, and adds a total.
'
Rows("1:1").Select
Selection.Font.Bold = True
With Selection.Interior
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0
End With
Columns("A:D").Select
Selection.EntireColumn.AutoFit
Range("D101").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-99]C:R[-1]C)"
End Sub
Zelfs als je geen VBA kent, kun je waarschijnlijk de logica hier wel lezen. Rows("1:1").Select betekent dat Excel de eerste rij heeft geselecteerd. Selection.Font.Bold = True betekent dat het vetgedrukt is gemaakt. Als je de geselecteerde kolommen wilt veranderen naar A tot en met F in plaats van A tot en met D, kun je in de teksteditor eenvoudig Columns("A:D").Select handmatig wijzigen naar Columns("A:F").Select en op opslaan klikken.
Als je geĂŻnteresseerd bent om te leren hoe je deze scripts vanaf nul schrijft, is het lezen over VBA-basisbeginselen een uitstekende volgende stap.
Een van de meest voorkomende struikelblokken voor beginners betreft de manier waarop macro's cellen selecteren. Standaard gebruikt de Macro-recorder Absolute verwijzingen. Dit betekent dat als je tijdens het opnemen op cel B5 klikt, de macro elke keer dat deze wordt uitgevoerd precies op cel B5 zal klikken, ongeacht waar je actieve cursor zich bevindt.
Soms wil je dat een macro een cel opmaakt in verhouding tot de huidige positie van je cursor. Hiervoor moet je de optie Relatieve verwijzingen gebruiken (te vinden direct onder de knop Macro opnemen op het tabblad Ontwikkelaars) inschakelen voordat je begint met opnemen.
Als je niet bekend bent met dit concept, kun je je kennis opfrissen over relatieve versus absolute verwijzingen om te begrijpen hoe Excel omgaat met positionering. Hieronder vind je een korte vergelijking van hoe de twee modi zich gedragen in de macro-recorder:
| Opnamemodus | Hoe het werkt | Het best te gebruiken voor... |
|---|---|---|
| Absolute verwijzingen (Standaard) | Neemt het exacte celadres op (bijv. Range("C10").Select). De macro zal altijd terugkeren naar C10. | Het opmaken van vaste koppen, het toepassen van een VLOOKUP-functie op een specifieke statische gegevenstabel, of het plaatsen van een titel in cel A1. |
| Relatieve verwijzingen | Neemt de verschuiving ten opzichte van de actieve cel op (bijv. ActiveCell.Offset(1, 0).Select). | Het maken van macro's die "de volgende rij naar beneden" opmaken, of het toepassen van een specifieke stijl op de cel die je op dat moment hebt geselecteerd. |
Om ervoor te zorgen dat je macro's elke keer soepel worden uitgevoerd, moet je de volgende best practices voor beginners in gedachten houden:
Het opnemen van macro's is het perfecte startpunt voor spreadsheet-automatisering. Zodra je de recorder onder de knie hebt, ga je natuurlijk andere knelpunten in je wekelijkse routine identificeren. Je zou uiteindelijk kunnen overstappen naar het volledig automatiseren van rapporten met Excel VBA, waarbij het ophalen, opschonen en e-mailen van gegevens volledig hands-off verloopt.
Het leren van programmeersyntaxis is echter niet voor iedereen weggelegd. Als je moeite hebt om de juiste INDEX-, MATCH- of IF-formules uit te zoeken om in je macro's te plaatsen, hoef je niet urenlang te googelen. Beschrijf in plaats daarvan gewoon in gewone taal wat je wilt bereiken aan GPTExcel, en deze genereert onmiddellijk de perfecte formule of het VBA-codefragment dat je in je werkmap kunt plakken.
Door de ingebouwde Macro-recorder te combineren met moderne AI-tools, kun je bijna elke repetitieve taak op je bureau automatiseren, waardoor je meer tijd overhoudt om je te concentreren op wat er echt toe doet.
Macro's die je zelf opneemt, zijn volkomen veilig. Omdat VBA echter een krachtige programmeertaal is, kan er door derden schadelijke code in macro's worden geschreven. Je moet alleen macro's uitvoeren uit werkmappen die je hebt gedownload van vertrouwde bronnen. Daarom schakelt Excel macro's standaard uit en wordt er een beveiligingswaarschuwing weergegeven wanneer je een .xlsm-bestand opent.
Nee. Je kunt de knop Ongedaan maken (Ctrl + Z) niet gebruiken om de acties van een macro terug te draaien. Voordat je een nieuwe macro op belangrijke gegevens test, wordt het ten zeerste aanbevolen om een back-upkopie van je werkmap op te slaan. Als de macro zich onverwacht gedraagt, kun je het bestand eenvoudig sluiten zonder op te slaan en je back-up opnieuw openen.
Om veiligheidsredenen worden standaard Excel-bestanden (.xlsx) ontdaan van alle code. Als je probeert een werkmap met een macro op te slaan als een .xlsx-bestand, geeft Excel een waarschuwing weer. Om je opgenomen macro's te behouden, moet je de vervolgkeuzelijst "Opslaan als" wijzigen naar "Excel-werkmap met macro's (*.xlsm)".
Ja, absoluut. Bij het opnemen van een macro wordt elke formule die je in een cel typt—of het nu een eenvoudige SUM is of een complexe geneste IF-instructie—opgenomen. Wanneer je de macro later uitvoert, voegt Excel die exacte formule in de aangewezen cel in en worden de resultaten onmiddellijk berekend.
Ontdek hoe u Excel-taken automatiseert zonder VBA met Power Automate. Leer hoe u flows maakt op basis van triggers, gegevens verwerkt en andere apps koppelt.
Ontdek hoe u geautomatiseerde rapportagesystemen bouwt in Excel met VBA. Leer stapsgewijs data ophalen, formules invoegen, cellen opmaken en rapporten exporteren met code.
Begin met programmeren in Excel met VBA. Leer meer over het tabblad Ontwikkelaars, variabelen, lussen, voorwaarden en hoe je je eerste werkende macro schrijft.