VBA staat voor ‘ Visual Basic for Applications’. Dit is een programmeertaal waarmee je de mogelijkheden in Excel kunt uitbreiden. Daarnaast kun je je vaardigheden in Excel naar een hoger niveau kunt tillen. Dit artikel geeft een inleiding in VBA en Macros.
VBA is Excel onder de motorkap
Werken met Excel kun je vergelijken met het gebruik van een auto. Om van A naar B te komen volstaat het om te weten waar de belangrijkste knoppen en functionaliteit zit. Zo moet je bijvoorbeeld weten waar het contact zit om de auto aan te zetten en het gaspedaal om vooruit te komen. Maar wil je de auto efficiënter of sneller laten rijden moet je iets veranderen onder de motorkap. Je zult wat technische aanpassingen moeten doen en dat vereist meer kennis.
Wanneer VBA gebruiken
Zo werkt het in feite ook in Excel. De standaard beschikbare functionaliteit in Excel is al zeer uitgebreid en is daarom voor de meeste toepassingen ruim voldoende. Toch zijn er situaties waarin het gebruik van VBA en Macros overwogen kan worden:
- Automatiseren terugkerende handelingen: Excel model waarin frequent gelijkwaardige en handmatige handelingen nodig zijn. Deze terugkerende handelingen kunnen door middel van Macros/ VBA geautomatiseerd worden.
- Uitbreiden mogelijkheden in Excel: Wanneer de standaard mogelijkheden in Excel niet toereikend zijn. De functionaliteit van Excel kan door middel van het gebruik van VBA naar wens worden uitgebreid.
- Sneller laten werken Excel model: VBA helpt om berekeningen of bewerkingen in een model te versnellen. Door berekeningen ‘onder de motorkap’ uit te voeren in plaats van in stappen op het scherm kan veel tijd gewonnen worden. Dit is zeker handig bij grote modellen.
Nadelen VBA
VBA biedt eindeloos veel mogelijkheden biedt maar brengt ook wat nadelen met zich mee. Zelf ben ik dan ook een voorstander om zoveel mogelijk te werken met de standaard Excel functionaliteit om de volgende redenen:
- Moeilijker te beheren Excel modellen. Code in VBA is moeilijk over te dragen. Zodra er ‘onder de motorkap’ gesleuteld is zal nog meer tijd besteed moeten worden aan duidelijke vastlegging van de geprogrammeerde functionaliteit. Zeker wanneer het Excel model door derden beheerd en gebruikt moet worden.
- Foutgevoeligheid Excel model: Door het gebruik van VBA kan de gebruiker/ programmeur direct en verregaand ingrijpen op de werking van Excel. Het is zeer belangrijk om uitgebreid te testen op de correcte werking van de programmatuur. Ook wanneer er een nieuwe versie van Excel op de markt komt moet de functionaliteit getest worden. Dit geldt overigens ook voor de standaard beschikbare functionaliteit. Dit heet met een mooi woord compabiliteit. Het is niet vanzelfsprekend dat oude functionaliteit in een oudere versie ook werkt in een nieuwe versie van Excel, hoewel dit in de meeste gevallen overigens wel zo is.
- Programmeerkennis benodigd: Je zult tijd moeten investeren om VBA onder de knie te krijgen. Overigens is VBA vrij makkelijk op te pakken en is wel een waardevolle investering die goed staat op je CV.
Verschil tussen VBA en Macros
Er is eigenlijk geen verschil tussen VBA en een Macro. Een Macro is in feite een in VBA geprogrammeerde herhaling van een aantal terugkerende stappen. Wel bestaat er in Excel een handige ‘Macro recorder’. Deze recorder registreert welke acties in een werkblad worden uitgevoerd en legt deze in VBA vast. Wanneer zo’n Macro wordt uitgevoerd wordt in feite de VBA code uitgevoerd en worden de geregistreerde stappen herhaald. Om VBA te leren is het handig om eerst een macro op te nemen en vervolgens te kijken hoe de automatisch gegenereerde VBA code er uit ziet. Een geoefende programmeur zal deze zaken overigens zelf in VBA programmeren. Het registreren van een Macro via de recorder zal namelijk vaak tot overtollige coderingsregels leiden wat invloed heeft op de snelheid van het programma.
Investeren in VBA kennis en vaardigheden
Het ontwikkelen van programmeer vaardigheden in Excel verdient echt aanbeveling. Al is het alleen maar om iets beter te begrijpen hoe Excel onder de motorkap werkt. Naarmate je kennis en vaardigheden verder worden ontwikkeld zullen ook de mogelijkheden in Excel exponentieel toe nemen. Programmeren in Excel is toegankelijk. Hoewel VBA verschilt van andere programmeertalen zul je fundamentele vaardigheden ontwikkelen die de stap naar het leren van een andere programmeertaal makkelijk maken. VBA kennis staat ten slotte ook nog eens goed op je CV en zorgt ervoor dat je je kunt onderscheiden en kunt excelleren.
Tip van de redactie:
Veel plezier met Excelleren. Krijg je geen genoeg van Excel. Vind hier onze handige en leerzame sjablonen.
-
Sjabloon voor het vastleggen van fietsprestaties€6,95 incl. BTW
-
Sjabloon voor het vastleggen van hardloopprestaties€6,95 incl. BTW
-
Excel jaarkalender sjabloon – tot in lengte van jaren€4,95 incl. BTW
-
Sjabloon huishoudboekje – weet wat je nog te besteden hebt€4,95 incl. BTW
-
Sjabloon voor aanwezigheidsregistratie van team of afdeling€4,95 incl. BTW
-
Sjabloon voor het gestructureerd vastleggen van taken€4,95 incl. BTW
-
Sjabloon voor het maken van een projectplanning€4,95 incl. BTW
-
Sjabloon paklijst ter voorbereiding op de reis of vakantie€4,95 incl. BTW
-
Sjabloon voor het berekenen van eindkapitaal€4,95 incl. BTW
Ik wil even reageren op hergebruik van VBA in Excel,
Naar mijn mening zal VBA verdwijnen uit Excel, Microsoft blijft hier wel wazig over, maar in Microsoft 365 zie Judit al gebeuren, men kan alleen in het werkblad iets doen. Ik vindt dat jammer. Wat is jullie mening hierover
VBA wordt niet doorontwikkeld maar de verwachting is dat VBA wordt ondersteund/ gebruikt zolang Excel en office bestaan. Er zijn in het verleden talloze regels code en programma’s in VBA geschreven waar volledige kantoorautomatiseringen op gebaseerd zijn. Het is waarschijnlijk dat er een alternatieve taal naast VBA zal komen. Er naast maar zeer waarschijnlijk niet als vervanging.