Wat is een Macro?

Wanneer je in Excel vaak dezelfde handelingen uit voert is het heel handig om hier een Excel Macro van te maken. Een Excel Macro maken van terugkerende handelingen helpt je om Excel nog efficiënter te gebruiken.

Een macro is een klein computerprogrammaatje in Excel om herhalende bewerkingen voor de gebruiker uit te voeren. In Excel en andere Microsoft Office applicaties wordt hiervoor de programmeertaal VBA (Visual Basic for Applications) gebruikt. Met VBA is het mogelijk handelingen te automatiseren en de functionaliteit van Excel uit te breiden.

Activeren functionaliteit voor ontwikkelaars

Voordat je aan de slag kunt met Macro’s moet eerst aanvullende functionaliteit voor ontwikkelaars in Excel geactiveerd worden. Dit kan de gebruiker doen door in het lint te kiezen voor:

Bestand – Opties –  Lint aanpassen

Klik het vinkje aan bij ‘Ontwikkelaars’ zoals weergegeven op onderstaande afbeelding.

Macro activeren

In het lint verschijnt nu een extra tabblad ‘Ontwikkelaars’ naast de bestaande tabbladen zoals ‘Bestand’, ‘Start’, ‘Invoegen’ etc. (zie onderstaande afbeelding).

ontwikkelaars excel

Onder het tabblad ‘ontwikkelaars’ wordt alle functionaliteit getoond met betrekking tot het gebruik van VBA en Macro’s. Een macro schrijven is met enig doorzettingsvermogen heel goed aan te leren. Toch kan de drempel voor mensen zonder enige programmeer ervaring net iets te hoog zijn. Voor deze categorie heeft Excel de optie ‘Macro opnemen’ toegevoegd. Zie afbeelding.

Macro opnemen

Macro’s opnemen

We zullen nu onze eerste zeer eenvoudige Macro opnemen. Dit doen we door in het huidige Excel werkblad in een geselecteerde cel de huidige datum en tijd te tonen. Hiervoor maken we gebruik van van een Macro zodat we niet steeds de formule opnieuw hoeven maken.

De Excel functionaliteit ‘Macro opnemen’ interpreteert de acties van de gebruiker en vertaalt deze naar VBA code. Door op de button ‘Macro opnemen’ te klikken wordt een dialoog scherm geopend, zie onderstaande afbeelding.

Macro maken

  1. Macronaam: geef de macro een  herkenbare naam:  Ik kies voor ‘DatumTijdStempel’
  2.  Sneltoets: Een gewenste Sneltoets om de Macro snel op te kunnen starten. Ik kies voor Ctrl + q.
  3. Macro opslaan in: We kiezen voor ‘Deze Werkmap’
  4. Beschrijving: Een korte toelichting op de werking van de Macro: ‘Een eenvoudige macro om de huidige datum en tijd te tonen’

Macro instellingen

Belangrijk voor gebruik sneltoets (2):  wanneer je een sneltoets kiest die al in gebruik is wordt de oorspronkelijke functionaliteit overschreven door de functionaliteit van de Macro (bijvoorbeeld Ctrl + s voor opslaan van het document).

Belangrijk voor het opslaan van de Macro (3):  Wanneer je kiest voor ‘Macro opslaan in deze werkmap’ zal de Macro alleen beschikbaar zijn in dit specifieke Excel document. Wil je een Macro opslaan om deze  ook in andere Excel documenten paraat te hebben kiest je voor ‘Persoonlijke macro werkmap’

Klik op ‘OK’ en opname begint.

In de tab ‘Ontwikkelaars’ is de button ‘Macro opnemen’ nu vervangen door de button ‘Opname stoppen’, dit laat zien dat de opname loopt. Type bijvoorbeeld in Cel A1 =NU(). De huidige datum en tijd zullen in de cel verschijnen. Druk vervolgens op de button ‘Opname stoppen’. Gefeliciteerd, je hebt je eerste macro gemaakt.

Macro opname

Klik op de button ‘Macro’s’

Macro overzicht

Een overzicht van de macro’s in huidige Excel file verschijnt met daarin de zojuist opgenomen Macro ‘DatumTijdStempel’.

Macro bewerken

De programmeercode van de Macro

Middels dit scherm kun je de macro laten uitvoeren, bewerken en verwijderen. Wanneer je voor ‘bewerken’ kiest wordt Visual Basic for Applications (VBA) geopend. De programmacode van de acties die we zojuist hebben uitgevoerd wordt getoond. Oftewel, de Macro is vertaald naar een stukje programmacode.

Sub DatumTijdStempel()

‘ DatumTijdStempel Macro
‘ Een eenvoudige macro om de huidige datum en tijd te tonen

‘ Sneltoets: Ctrl+q

ActiveCell.FormulaR1C1 = “=NOW()”

End Sub

Deze programmacode kun je eventueel verder bewerken. Door de programmacode te bestuderen en ermee te experimenteren leer je al heel snel Excel onder de motorkap kennen.

Let op, deze programmeertaal is in het Engels en de gebruiker zal dus in het Engels moeten programmeren.

Een paar eerste handvaten voor het lezen VBA zijn:

  • Een VBA procedure start altijd met: Sub naam macro ()
  • Wanneer de tekst begint met een ‘ (apostrophe) is dit geen programmeercode maar slechts een toelichting voor de gebruiker. (bovenstaand voorbeeld de groene tekst)
  • Een VBA Sub procedure eindigt altijd met: End Sub

Macro uitvoeren

Je kunt de macro activeren met de ingegeven sneltoets (Ctrl+ q) of via Macro’s – Uitvoeren.

Daarnaast is er de mogelijkheid onder Invoegen een Macro knop aan te maken.

Macro knop

Wanneer je voor ‘Invoegen‘ kiest en vervolgens het icoontje linksboven selecteert creëer je een knop die de macro activeert wanneer hier op geklikt wordt.

Macro button

Na het selecteren van dit icoon kun je op een willekeurige plek in het Excel werkblad klikken. Het volgende scherm verschijnt:

Macro maken

Wijs de macro (DatumTijdStempel) toe aan het object (de knop) en kies voor OK.

Macro Voorbeeld

Zo kunnen ook gebruikers die de Ontwikkelaars functionaliteit niet tot hun beschikking hebben de Macro toch gebruiken.

Opslaan van Excel bestanden met Macro’s

Een Excel bestand met een Macro moet specifiek opgeslagen moeten worden. Kies voor ‘Opslaan als’ en kies voor ‘Excel-werkmap met macro’s’

Macro opslaan

Je hebt nu je eerste stappen gezet in het gebruik van Macros. Probeer te bedenken welke Excel handelingen je op deze wijze zou kunnen automatiseren en probeer het uit.

Zie ook het voorbeeld bestand: MACRO_VOORBEELD

Veel plezier met Excelleren!

Met dank aan Bram Hendriks voor het schrijven van dit artikel

 

Tagged:

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.