Macro's in Google Sheets automatiseren handelingen die je steeds opnieuw doet, zoals opmaken, sorteren of een rapport klaarzetten. Je neemt ze op door de stappen een keer uit te voeren, zonder dat je hoeft te programmeren.
Sheets vertaalt je opgenomen handelingen naar Apps Script-code. Die code kun je later bekijken en aanpassen, waardoor macro's een mooie opstap zijn naar echte automatisering.
Wanneer is een macro handig
Een macro loont zodra je dezelfde reeks klikken minstens een paar keer per week herhaalt. Denk aan deze terugkerende klussen:
- Maandelijkse opmaak: koppen vet maken, randen zetten, bedragen als euro formatteren en de juiste kleur op de totaalrij.
- Data opschonen: lege rijen verwijderen, op de juiste kolom sorteren en filters resetten voordat je een export maakt.
- Vast rapport klaarzetten: een tabblad dupliceren, een datumkop invullen en de printinstellingen goed zetten.
Voor een eenmalige handeling is opnemen niet de moeite. Voor wekelijks werk verdien je de paar minuten opname snel terug.
Een macro opnemen
Het opnemen kost net zo veel tijd als de handeling een keer uitvoeren.
Je eerste macro opnemen
- Klik op Extensies, dan Macro's en kies Macro opnemen.
- Kies onderin tussen Absolute verwijzingen en Relatieve verwijzingen.
- Voer de handelingen uit die je wilt automatiseren, bijvoorbeeld opmaken en sorteren.
- Klik op Opslaan en geef de macro een herkenbare naam.
- Wijs eventueel een sneltoets toe en klik nogmaals op Opslaan.
Absoluut of relatief: maak bewust een keuze
Het verschil tussen absolute en relatieve verwijzingen bepaalt of je macro later bruikbaar is. Absoluut werkt altijd op exact dezelfde cellen, bijvoorbeeld altijd op kolom A. Relatief werkt vanaf de cel die je op dat moment hebt geselecteerd. Kies relatief als je dezelfde bewerking op wisselende rijen of tabbladen wilt toepassen.
Een macro afspelen
Een opgenomen macro speel je af via het menu of met de sneltoets. De code kun je ook rechtstreeks vanuit Apps Script uitvoeren.
| Manier | Hoe |
|---|---|
| Via menu | Extensies, Macro's, kies de macro |
| Met sneltoets | Ctrl, Alt, Shift en een cijfer |
| Vanuit Apps Script | Selecteer de functie en klik op Uitvoeren |
Reserveer je sneltoetsen verstandig
Per spreadsheet kun je maximaal tien macro's aan een sneltoets koppelen, telkens in de vorm Ctrl plus Alt plus Shift plus een cijfer. Bewaar die plekken voor de macro's die je echt dagelijks gebruikt. Alle overige macro's start je gewoon via het menu Extensies en Macro's.
De code aanpassen
De echte kracht zit in het aanpassen van de opgenomen code. Via Extensies en Apps Script open je de macrofunctie, die Sheets in het bestand macros.gs heeft gezet.
Een opgenomen opmaak-macro ziet er bijvoorbeeld zo uit. Hierna kun je de waarden zelf bijstellen, of er logica aan toevoegen:
function maandOpmaak() {
var blad = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
blad.getRange('A1:F1').setFontWeight('bold');
blad.getRange('A1:F1').setBackground('#1a73e8');
blad.getRange('A1:F1').setFontColor('#ffffff');
}
Vertrouw geen macro van onbekende bron
Een macro is gewoon Apps Script-code en kan in principe data lezen, wijzigen of versturen. Plak nooit zomaar code van internet zonder te begrijpen wat die doet. Controleer bij de eerste uitvoering altijd welke machtigingen de macro vraagt en weiger als die buitensporig lijken.
Wil je verder dan opnemen, dan stap je over op zelf scripten. De opgenomen code is een prima startpunt om te leren hoe de Apps Script-syntax werkt. Lees meer over Apps Script in Workspace.
Heb ik programmeerkennis nodig voor macro's?
Nee, je neemt een macro op door de handelingen een keer uit te voeren en Sheets schrijft de code voor je. Pas als je de code wilt aanpassen of uitbreiden, komt enige scriptkennis van pas.
Wat is het verschil tussen absolute en relatieve verwijzingen?
Absoluut werkt altijd op dezelfde cellen, bijvoorbeeld altijd kolom A. Relatief werkt vanaf de cel die je hebt geselecteerd, zodat je de macro op verschillende rijen of tabbladen kunt gebruiken.
Hoeveel macrosneltoetsen kan ik instellen?
Per spreadsheet koppel je maximaal tien macro's aan een sneltoets, telkens met Ctrl, Alt, Shift en een cijfer. Overige macro's start je via het menu Extensies en Macro's.
Hoe pas ik een opgenomen macro aan?
Open Extensies en daarna Apps Script. Daar staat de functie van je macro als code in het bestand macros.gs, die je kunt bewerken en uitbreiden.
Werken macro's ook in een standalone script of add-on?
Nee, opgenomen macro's horen bij het spreadsheet zelf en draaien alleen in dat gekoppelde Apps Script-project. Ze werken niet in losse scripts, add-ons of andere Workspace-apps.
Zijn macro's veilig?
Je eigen opgenomen macro's zijn veilig. Wees voorzichtig met code van onbekende bron, want een macro kan data lezen en wijzigen. Controleer altijd de gevraagde machtigingen voor je akkoord geeft.
Macro's besparen je elke week tijd op terugkerend werk. Begin met opnemen, speel de macro een paar keer af en duik daarna in de code om hem slimmer te maken.