Naar de inhoud

Gids

Excel automatiseren: welk hulpmiddel voor welk werk

Een macro, een query, een script of een flow. Elk lost iets anders op, en elk heeft een grens die je beter kent voor je erop bouwt.

Door , Oprichter en CEO

10 min lezen
Excel automatiseren: de Nederlandstalige productpagina van Microsoft Excel met een maandbudget in een spreadsheet en grafieken
Op deze pagina
  1. 01Vijf manieren naast elkaar
  2. 02Macro's: snel gemaakt, maar gebonden aan een pc
  3. 03Power Query: data ophalen zonder knippen en plakken
  4. 04Office Scripts: een Excel automatiseren script in de browser
  5. 05Power Automate: Excel laten praten met de rest
  6. 06Een koppeling: als Excel niet meer de bron is
  7. 07Wanneer Excel automatiseren genoeg is geweest

Excel automatiseren betekent dat het werk dat je elke week met de hand doet, vanzelf gebeurt: een export inlezen en opkuisen, een rapport opmaken, gegevens van het ene blad naar het andere zetten of een mail sturen als een cel verandert. Daar heeft Microsoft vier hulpmiddelen voor: macro's in VBA, Power Query, Office Scripts en Power Automate. Daarnaast kan een koppeling Excel rechtstreeks laten praten met je andere software.

Ze lijken op elkaar, maar ze werken op een andere plek, met een andere licentie en met andere grenzen. Een macro draait op de pc waar het bestand openstaat. Een Office Script draait in Microsoft 365. Een flow in Power Automate draait in de cloud, ook als niemand Excel openheeft. Wie dat verschil kent, bouwt niet op het verkeerde hulpmiddel.

Vijf manieren naast elkaar

ManierWat het doetWaar het draaitWat je nodig hebt
Macro in VBAHandelingen in een werkmap opnemen of uitschrijven en herhalenExcel op je pc, in een .xlsm-bestandExcel op Windows of Mac
Power QueryData uit bestanden, mappen en databases ophalen en opkuisen, met een klik te vernieuwenIn de werkmap, bij het vernieuwenExcel op Windows of Mac
Office ScriptsHandelingen opnemen of uitschrijven in TypeScript, met een knop in de werkmapMicrosoft 365, ook in Excel op het webEen zakelijke of onderwijslicentie en OneDrive voor bedrijven
Power AutomateFlows tussen Excel, Outlook, Teams, formulieren en andere appsDe cloud van MicrosoftEen werkaccount; Premium voor eigen en premiumconnectors
Een koppelingGegevens tussen Excel of je database en je andere software, via hun APIEen eigen server of functieEen ontwikkelaar en de sleutels van je software

Wat een API-koppeling is, staat bij de begrippen. De rest van deze gids neemt de vijf een voor een door, met wat ze kosten en waar ze stoppen.

Macro of Office Script

De twee manieren om handelingen in een werkmap te laten herhalen.

Taal
Macro in VBAVBA, met een macrorecorder
Office ScriptTypeScript, met een actierecorder en een code-editor
Waar het werkt
Macro in VBAExcel op Windows en Mac, niet in Excel op het web
Office ScriptExcel op het web, Excel voor Windows vanaf versie 2210 en Excel voor Mac
Licentie
Macro in VBAElke Excel op de pc
Office ScriptEen zakelijke of onderwijslicentie van Microsoft 365, met OneDrive voor bedrijven
Waar de code staat
Macro in VBAIn het bestand zelf, als .xlsm
Office ScriptIn je OneDrive, te delen met je organisatie
Op een vast tijdstip draaien
Macro in VBANiet vanzelf: iemand opent het bestand
Office ScriptVia Power Automate; plannen vanuit Excel staat bij Microsoft tijdelijk uit
Beveiliging
Macro in VBAOp Windows standaard geblokkeerd in bestanden die van het internet komen, zoals een bijlage uit een mail
Office ScriptDraait binnen je Microsoft 365-omgeving, onder het account van wie het start

Werkt je team op Windows met bestanden op de eigen schijf, dan doet een macro nog altijd zijn werk. Werk je in Microsoft 365 en moet het ook zonder open pc draaien, kies dan een Office Script.

Macro's: snel gemaakt, maar gebonden aan een pc

Een macro is de oudste manier om Excel te automatiseren. Je drukt op opnemen, doet je handelingen en speelt ze daarna met een knop opnieuw af. In de VBA-editor kan je de code daarna aanpassen, met lussen en voorwaarden. Voor een rapport dat je elke maandag opmaakt, volstaat dat vaak.

Drie grenzen komen in de praktijk het vaakst terug. Een macro draait alleen in Excel op de pc, niet in Excel op het web en niet op een telefoon. Op Windows blokkeert Office standaard macro's in bestanden die van het internet komen, ook als een collega het bestand mailt. En de kennis zit vaak bij een persoon: wie de macro schreef, is de enige die weet wat hij doet als er een kolom bijkomt.

Power Query: data ophalen zonder knippen en plakken

Krijg je elke week een export uit je boekhouding, je webshop of je kassasysteem, dan is Power Query de eerste stap. Je wijst het bestand of de map aan, kuist de kolommen op, voegt tabellen samen en laadt het resultaat in een blad. De stappen worden bewaard. Komt volgende week een nieuwe export, dan klik je op vernieuwen en gebeurt alles opnieuw.

Power Query schrijft niets terug naar de bron en stuurt niets door. Het is een lezer, geen schrijver. Voor een wekelijks overzicht van omzet per klant werkt het uitstekend; moet je daarna nog met de hand iets overtypen naar een ander systeem, dan heb je een flow of een koppeling nodig. Groeit dat overzicht uit tot een rapport dat het hele team elke dag bekijkt, lees dan een dashboard laten maken.

Office Scripts: een Excel automatiseren script in de browser

Office Scripts is de opvolger van de macro voor wie in Microsoft 365 werkt. Je neemt handelingen op met de actierecorder of schrijft ze in TypeScript, en zet ze achter een knop in de werkmap. Het script staat in je OneDrive en je kan het delen met collega's in je organisatie.

Je hebt Excel op het web, Excel voor Windows vanaf versie 2210 of Excel voor Mac nodig, plus OneDrive voor bedrijven en een zakelijke of onderwijslicentie. Met een persoonlijk Microsoft-account werkt het niet. Draait je script via Power Automate, dan gelden deze grenzen:

Grens voor een script in een flowWaarde
Een oproep vanuit Power Automatestopt na 120 seconden
Gegevens per oproep, heen en terughooguit 5 MB
Cellen per bereik5 miljoen
Starts per gebruiker per dag1.600
Zelf andere websites of API's aanroepenniet toegelaten

Reken die grenzen na voor je een flow bouwt die elke nacht alle orders van de dag verwerkt. Past de batch niet in 120 seconden of 5 MB, dan knip je hem op, of laat je dat werk aan een koppeling die niet aan die grenzen vastzit.

Power Automate: Excel laten praten met de rest

Power Automate verbindt Excel met de andere apps van Microsoft en met software van anderen: een nieuw antwoord in een formulier wordt een rij in je tabel, een rij met status klaar wordt een mail naar de klant, een bijlage in Outlook belandt in een map en daarna in een blad.

Met een werk- of schoolaccount krijg je een gratis licentie: cloudflows met de standaardconnectors, zonder ze te delen. Wil je flows delen met je team, een eigen connector gebruiken of een premiumconnector, dan heb je Premium nodig. Microsoft vermeldt daarvoor 15 dollar per gebruiker per maand bij jaarbetaling, met 40.000 acties per dag en een robot die meekijkt op de pc voor desktopflows.

Een koppeling: als Excel niet meer de bron is

Een koppeling haalt gegevens via de API van je software op en zet ze waar ze horen: in een database, in je boekhouding of terug in een overzicht. Met een webhook gebeurt dat op het moment dat er iets verandert, niet pas als iemand op vernieuwen klikt. Dat is werk voor een ontwikkelaar, maar het hangt niet aan een licentie van Microsoft en niet aan een pc die moet openstaan. Hoe dat in zijn werk gaat, lees je in een koppeling laten maken.

Een terugkerende taak automatiseren, stap voor stap

  1. Schrijf de taak uit zoals je ze nu doetElke klik, elke kolom, elk bestand. Noteer hoe vaak per week en hoe lang het duurt. Een taak van vijf minuten per maand automatiseer je niet.
  2. Maak van je gegevens een tabelMet Ctrl+T wordt een bereik een Excel-tabel met kolomnamen. Power Query, scripts en flows werken veel betrouwbaarder met een tabel dan met losse cellen.
  3. Begin met Power Query als het om inlezen gaatHaal de export op en kuis ze op in stappen. Vaak is het grootste deel van het werk daarmee al weg.
  4. Neem de rest op als script of macroWerk je in Microsoft 365, gebruik dan de actierecorder van Office Scripts. Lees de code na en verwijder wat de recorder te veel opnam.
  5. Laat het vanzelf starten met een flowEen flow in Power Automate start het script op een tijdstip of bij een nieuwe mail. Test eerst met een kopie van je werkmap.
  6. Leg vast wie het onderhoudtSchrijf in een tabblad wat de automatisering doet en wie ze aanpast als er een kolom bijkomt. Anders weet over een jaar niemand nog hoe het werkt.

Vijf versies van een bestand, of een bron

Vijf versies

Donderdag, werf Lochristi: wie gaat er?

  • planning_wk44.xlsxMail van Sarah, ma 08:12Bram
  • planning_wk44 (2).xlsxGedeelde mapKevin
  • planning_wk44_def.xlsxBureaublad van de plannerBram en Kevin
  • planning_wk44_def_v2.xlsxBijlage naar de klantBram
  • planning_wk44 kopie.xlsxDoorgestuurd in de chatleeg

Een bron

Donderdag, werf Lochristi

doLochristiKevin

Rechten

  • De planner past aan
  • Een technieker ziet zijn eigen dagen
  • De boekhouding ziet alleen de uren

Geschiedenis

  • ma 08:12 Sarah zet Bram op Lochristi
  • di 16:40 de planner wisselt naar Kevin: Bram is ziek

Koppeling

  • Kevin ziet de werf op zijn gsm
  • Zijn uren gaan naar de boekhouding

Signalen dat Excel aan zijn grens zit

  • Je vraagt wie de juiste versie heeft
  • Iemand overschreef een formule en niemand weet wanneer
  • Je typt dezelfde gegevens over naar een tweede bestand
  • Een persoon begrijpt de macro's, en die is met verlof
  • Iedereen ziet alles, ook de lonen of de marges
  • Een klant of technieker krijgt een oude versie

Voorbeeld met verzonnen namen en bestanden.

Wat geen macro kon oplossen bij Business Centrum

Business Centrum, een sociaal secretariaat in Gent, hield werkgevers en werknemers bij in Excel. Het probleem was niet dat er te veel met de hand ging. Het waren de dingen die Excel niet kent: wie welk dossier mag zien, wie wat veranderde, en een login met tweestapsverificatie voor gegevens die gevoelig zijn.

We bouwden een eigen platform met een logboek per werkgever, sessies die je kan intrekken, versleutelde gevoelige velden in AES-256-GCM en een dagelijkse back-up, in een datacenter in Parijs. De import testten we lokaal op hun echte Excel, met 309 werkgevers en 971 werknemers. Het hele verhaal staat in de case Business Centrum platform.

Het beheerplatform van Business Centrum met de lijst van werkgevers met hun bestuurder en status, voorbeeld met demodata
Het beheerplatform van Business Centrum met de lijst van werkgevers met hun bestuurder en status, voorbeeld met demodata

Wanneer Excel automatiseren genoeg is geweest

Automatiseren maakt een spreadsheet sneller, niet groter. Een werkblad heeft 1.048.576 rijen en 16.384 kolommen, maar dat is zelden de grens die je eerst raakt. Je raakt ze bij mensen: twee collega's die tegelijk dezelfde planning aanpassen, een klant die een oude versie krijgt, iemand die de lonen ziet die hij niet hoort te zien.

Drie signalen dat je volgende macro een vergissing is:

  • Je automatiseert het overtypen tussen bestandenDan heb je twee bronnen voor hetzelfde gegeven. Een koppeling of een gedeelde database lost dat op; een macro verplaatst het probleem.
  • De automatisering hangt aan een persoon of een pcAls het rapport niet klaar is omdat iemand met verlof is, is de macro je zwakste punt geworden.
  • Je hebt rechten per persoon nodigExcel kent beveiligde bladen, geen rollen. Moet een technieker alleen zijn eigen dagen zien en de boekhouding alleen de uren, dan zit je aan de grens.

Zit je daar, dan is de keuze niet meer welke macro, maar welk systeem. Een tabel met formulieren in een tool zoals Airtable is een tussenstap; hoe die zich tot Excel verhoudt, staat in Airtable of Excel. Gaat het vooral om een planning, lees dan planning in Excel of software. Werk je al met een ERP zoals Odoo en wil je Excel daar laten aansluiten, dan helpt Odoo implementatie.

Wat mensen vragen over Excel automatiseren

Kan je Excel automatiseren zonder te programmeren?

Ja. Power Query werkt met klikken, en zowel de macrorecorder als de actierecorder van Office Scripts nemen je handelingen op zonder dat je code schrijft. Voor uitzonderingen en voorwaarden pas je de code daarna wel aan.

Werken macro's in Excel op het web?

Nee, VBA-macro's draaien in Excel op de pc. In Excel op het web gebruik je Office Scripts, met een zakelijke of onderwijslicentie van Microsoft 365.

Waarom staat mijn macro geblokkeerd?

Op Windows blokkeert Office standaard macro's in bestanden die van het internet komen, zoals een bijlage uit een mail. Bewaar het bestand op een vertrouwde locatie of laat je beheerder het instellen, en open alleen bestanden waarvan je de afzender kent.

Is Power Automate gratis?

Met een werk- of schoolaccount kan je gratis cloudflows maken met de standaardconnectors, zonder ze te delen. Delen, eigen connectors en premiumconnectors vragen Premium, volgens Microsoft 15 dollar per gebruiker per maand bij jaarbetaling.

Wat is beter, een macro of een Office Script?

Werkt iedereen op Windows met bestanden op de eigen schijf, dan volstaat een macro. Werk je in Microsoft 365, in de browser of moet het script vanzelf starten via een flow, kies dan Office Scripts.

AI automatisatie

Hoe VBS je helpt met Excel dat te groot werd

We zeggen eerst of je met een flow of een script verder kan, en zeggen het ook als dat zo is. Kan het niet meer, dan bouwen we de koppeling of het platform dat je spreadsheet vervangt, met rechten per rol, een logboek en je oude gegevens geïmporteerd en nagekeken. Software op maat bouwen we tegen een vaste prijs per project, na een gesprek; wat zoiets meestal kost, staat in software laten ontwikkelen: de kosten.

Het platform van DA Logistics wordt dagelijks gebruikt door 31 gebruikers, met 1.396 geautomatiseerde tests, en een nieuwe versie staat er in 2 tot 6 seconden op. Plan een gesprek.

Hoe we dat aanpakken, lees je bij AI automatisatie.

Staat je volgende macro al op het lijstje?

Stuur ons wat je spreadsheet vandaag doet en wat er telkens met de hand moet. We zeggen of een flow volstaat of dat een koppeling of eigen platform goedkoper uitkomt.

Optioneel, als je liever gebeld wordt.

Wat wil je bereiken, en wat staat er al?

We gebruiken je gegevens alleen om je te antwoorden.