vba vs python vergelijking

Veel mensen die werken met data komen vroeg of laat voor de keuze te staan: VBA vs Python. Voor menigeen voldoet de standaardfunctionaliteit van Excel. Excel gebruik je voornamelijk als je weinig met data werkt of als je eenmalige analyses doet.

Mensen die intensief met data werken, terugkerende rapportages moeten maken, of specifieke functionaliteit nodig hebben kunnen echter niet altijd uit met Excel. In dit geval heb je twee logische keuzes:

  1. Je leert VBA om meer uit Excel te halen
  2. Je leert Python voor data analyses (of om meer uit Excel te halen)

We zullen eerst een kort overzicht schetsen van VBA en Python. Vervolgens maken we de balans op van Python vs VBA.

Ook interessant: Excel vs Python

Met vertrouwen waardevolle inzichten halen uit data? Schrijf je in voor een van onze trainingen.


Wat kun je met VBA?

Visual Basic for Applications (VBA) werd door Microsoft ontwikkeld om de office applicaties (Word, Excel, etc.) te automatiseren. VBA wordt voornamelijk gebruikt om de functionaliteit van Excel op te krikken. Zo kun je analyses en handelingen automatiseren om tijd te besparen en om consistentie in analysehandelingen te garanderen. Het kost niet veel tijd om VBA te leren, vooral als je al bekend bent met de mogelijkheden binnen Excel.

Je kunt VBA alleen binnen Microsoft applicaties (zoals Excel) gebruiken en runnen. Het is dus niet mogelijk om zelfstandige applicaties te schrijven en uit te voeren in VBA.

Een nadeel aan VBA is dat Microsoft - op kleine aanpassingen na - al meer dan 10 jaar geleden heeft besloten te stoppen met investeren in de ontwikkeling van VBA.

Wat kun je met Python?

Python is een open source general-purpose programmeertaal. Python kent veel toepassingen. Naast Data Science en machine learning wordt het gebruikt in web-development of bijvoorbeeld the Internet of Things. Het toepassingsgebied van Python reikt dus vele malen verder dan dat van VBA. Zo kun je met Python ook Excelbestanden bewerken en zelfs VBA code uitvoeren.

Je zou dus kunnen zeggen dat je met Python alles kunt wat je met VBA kunt, maar met VBA niet alles wat je in Python kunt. Maar maakt dat Python altijd een logische keuze?

Niet per se.

Zo zal een gebruiker die een Python script uit wil voeren bijvoorbeeld eerst Python moeten installeren. Dit kan een drempel zijn in niet-technische omgevingen. Daarnaast is de tijdsinvestering om Python te leren hoger, simpelweg omdat er zo veel meer mogelijk is.

Ook interessant: hoe lang duurt Python leren?

Wel is Python voor een programmeertaal zeer makkelijk te leren en het is over de laatste jaren uitgegroeid tot een van de populairste programmeertalen. Er is bovendien enorm veel standaardfunctionaliteit beschikbaar in packages. Hier vind je een overzicht van Python packages voor data science. De Python community is bovendien enorm. Dat is een groot voordeel voor een programmeertaal en daarmee is Python leren een veilige keuze.

Overzicht Python vs VBA

Onderstaande tabel geeft een overzicht van de vergelijking tussen Python en VBA. Op basis van onderstaande tabel moet je een keuze kunnen maken voor VBA danwel Python.

AspectVBAPython
MoeilijkheidsgraadMakkelijk te lerenMakkelijk te leren, maar zeer veel mogelijkheden. Daarom kun je veel langer doorleren
Meeste mogelijkhedenVBA biedt een beperkte set mogelijkheden voornamelijk gericht op automatisering van Microsoft Office applicatiesPython biedt alle mogelijkheden die VBA biedt en extreem veel meer. Dit kan zowel een voordeel als een nadeel zijn
Grootste/ actiefste communityGemiddeldZeer groot
Uitvoerbaarheid scriptEen VBA script is voor iedereen toegankelijk omdat het binnen bekende office applicaties is uit te voerenPython is minder toegankelijk omdat Python op zichzelf uit te voeren is. Hiervoor moet Python eerst eenmalig geïnstalleerd worden door gebruikers van een script
Packages/ librariesEr bestaan diverse code libraries voor VBA gebruikers zodat veelgebruikte analysefunctionaliteit niet volledig zelf opgebouwd hoeft te wordenDe basisinstallatie van Python kan uitgebreid worden met talloze packages met voorgedefinieerde functionaliteit. In relatie tot Excel kun je bijvoorbeeld denken aan xlwings of Pandas
ToekomstperspectiefMicrosoft ontwikkelt het niet meer doorPython is open source en de ontwikkeling ervan is volop in gang. Gezien de populariteit zal dit nog lang doorgaan
OmgevingscontextBevind je je in een niet-technische omgeving? Dan is VBA een goede keuze. Omdat men het kan runnen zonder extra installaties en sommige niet-techneuten zijn al bekend met VBA. Kies hier dus alleen Python als de mogelijkheden van VBA tekortschietenAls je in een (semi-)technische omgeving opereert is Python vaak de beste keuze.

Wil jij Python leren?

Wil je nog veel meer leren over Python en Data Science? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, of voor onze data science opleiding en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.

Download één van onze opleidingsbrochures voor meer informatie

by: