Je hebt net voor de twaalfde keer dezelfde data van het ene tabblad naar het andere gekopieerd, de opmaak gecorrigeerd en duplicaten verwijderd. Twintig minuten werk, iedere week opnieuw. Je weet dat een macro dit zou oplossen, maar VBA leren stond nooit bovenaan je prioriteitenlijst. Dat hoeft ook niet meer. Met ChatGPT kun je een werkende Excel-macro laten schrijven op basis van een gewone omschrijving in het Nederlands, zonder zelf code te typen. Dit is hoe dat werkt, stap voor stap.
Stap 1: Beschrijf je taak in gewone taal
ChatGPT begrijpt geen spreadsheets, maar wel Nederlands. Beschrijf je repetitieve taak zo concreet mogelijk: welk tabblad, welke kolommen, wat er precies moet gebeuren. Hoe je betere prompts schrijft helpt je daarbij. Hoe specifieker, hoe bruikbaarder de code die je terugkrijgt.
Vage prompt: “Maak een macro die data kopieert.”
Goede prompt: “Schrijf een VBA-macro voor Excel die alle rijen uit tabblad ‘Invoer’ kopieert waarbij kolom C de waarde ‘Openstaand’ bevat, en plak die rijen onderaan tabblad ‘Rapportage’. De koptekstrij hoeft niet mee.”
Drie voorbeeldprompts voor veelvoorkomende situaties:
- Factuurlijst opmaken: “Schrijf een VBA-macro die in tabblad ‘Facturen’ alle cellen in kolom D opmaakt als valuta met twee decimalen, kolom A vetgedrukt maakt en de rij geel kleurt als de waarde in kolom E kleiner is dan de datum van vandaag.”
- Duplicaten verwijderen: “Maak een VBA-macro die in het actieve tabblad alle rijen verwijdert waar kolom B een dubbele waarde bevat. Bewaar alleen de eerste keer dat een waarde voorkomt.”
- Data samenvoegen: “Schrijf een macro die alle gegevens uit de tabbladen ‘Januari’, ‘Februari’ en ‘Maart’ samenvoegt in een nieuw tabblad genaamd ‘Totaaloverzicht’. Neem de koptekstrij alleen mee vanuit ‘Januari’.”
Stap 2: Kopieer de VBA-code
ChatGPT geeft je een stuk code dat begint met Sub en eindigt met End Sub. Je hoeft niet te begrijpen wat elke regel doet. Wat je wél handig is om te weten: de tekst na een apostrof (‘) is een opmerking en heeft geen functie. Die regels leg je gewoon langs je neer. Kopieer de volledige code, inclusief de eerste en laatste regel.
Stap 3: Open de Visual Basic Editor en plak de code op de juiste plek
Druk in Excel op Alt + F11. De Visual Basic Editor opent. Je ziet links een projectvenster met je bestandsnaam en daarbinnen mappen zoals “Microsoft Excel-objecten” en soms al een map “Modules”.
Klik in de menubalk op Invoegen en kies Module. Er verschijnt een leeg venster rechts. Plak hier je code. Dit is de standaard plek voor macro’s die op het hele werkboek van toepassing zijn.
Gebruik een blad-object (dubbelklik op een tabblad in het projectvenster) alleen als je code automatisch moet starten bij een actie op dat specifieke tabblad, zoals een verandering in een cel. Voor de meeste handmatige macro’s is een losse module precies goed.
Stap 4: Voer de macro uit
Er zijn drie snelle manieren:
- Sluit de editor, ga terug naar Excel, kies in het lint het tabblad Ontwikkelaars en klik op Macro’s. Selecteer je macro en klik op Uitvoeren.
- Druk in de Visual Basic Editor op F5 terwijl je cursor in de code staat.
- Koppel de macro aan een knop op je spreadsheet via Invoegen, Vormen, rechtermuisknop op de vorm en kies Macro toewijzen.
Controleer na het uitvoeren of het resultaat klopt. Vergelijk een handvol rijen handmatig met de uitvoer van de macro. Als alles er goed uitziet, ben je klaar.
Stap 5: Werkt het niet? Gebruik de foutmelding als je volgende prompt
Excel geeft bij een fout een pop-up met een foutcode en een korte beschrijving, zoals “Run-time error ‘1004’: Application-defined or object-defined error”. Kopieer die melding letterlijk en plak hem terug in ChatGPT met de vraag: “Ik krijg deze foutmelding bij de macro die je eerder gaf. Kun je de code aanpassen?”
Dit is eigenlijk het meest onderschatte onderdeel van werken met AI-code. ChatGPT is pas echt krachtig als debugger: je hoeft zelf helemaal niet te snappen wat er misgaat. De foutmelding vertelt het verhaal, en ChatGPT lost het op. Voeg ook even context toe, zoals welke tabbladen je hebt of hoe je data er precies uitziet, dan krijg je sneller een werkende versie terug.
Stap 6: Sla op als.xlsm, anders is de code weg
Dit is de stap die mensen het vaakst overslaan. Als je je bestand opslaat als gewoon.xlsx, gooit Excel alle macro’s weg zonder waarschuwing vooraf. Sla op via Bestand, Opslaan als en kies als bestandstype “Excel-werkmap met ingeschakelde macro’s (.xlsm)”. Doe dit direct nadat je code werkt, zodat je nooit opnieuw hoeft te beginnen.
Beveiligingsinstellingen: doe dit zorgvuldig
Veel handleidingen slaan deze waarschuwing over, maar hij is belangrijk. Excel blokkeert macro’s standaard, wat in de meeste gevallen goed is. Voor je eigen macro’s wil je dit aanpassen.
Ga naar Bestand, Opties, Vertrouwenscentrum en klik op Instellingen voor het Vertrouwenscentrum. Kies onder Macro-instellingen voor “Alle macro’s met melding uitschakelen”. Excel vraagt je dan bij elk bestand apart of je de macro’s wilt inschakelen, wat precies de juiste balans is. Klik nooit zomaar op “Alle macro’s inschakelen” voor bestanden die je van een onbekende bron krijgt.
Macro’s die je zelf maakt via ChatGPT en in je eigen bestand plakt, zijn veilig. Macro’s in bijlagen van onbekenden zijn dat zelden.
Wat ChatGPT wél en niet kan binnen Excel
ChatGPT schrijft uitstekende VBA-code voor alles wat zich binnen je werkboek afspeelt: data verplaatsen, opmaken, filteren, berekenen, tabbladen aanmaken of verwijderen. Dat dekt de overgrote meerderheid van wat Excel-gebruikers dagelijks willen automatiseren.
Waar het minder soepel loopt: toegang tot externe bestanden werkt alleen als je het volledige bestandspad meegeeft in je prompt, bijvoorbeeld “C:GebruikersNaamDocumentenbestand.xlsx”. Live data ophalen van internet of een API werkt niet zomaar via VBA zonder extra instellingen. Weet je van tevoren wat je macro moet doen en geef je die context mee, dan voorkom je de meeste frustratie.
Beschrijf je taak concreet, plak de gegenereerde code in een nieuwe VBA-module, test en sla het bestand op als.xlsm. Werkt er iets niet, kopieer dan de foutmelding en stuur die terug naar ChatGPT als volgende vraag. Na een paar iteraties heb je een werkende macro en ben je die twintig minuten per week kwijt aan iets anders.
