Hoe voer ik een macro uit in excel?
Visual Basic for Applications (VBA) is een programmeertaal die is geïntegreerd in Microsoft Excel, evenals in andere Microsoft Office-toepassingen zoals Word en Access. VBA-code in Excel is om verschillende redenen belangrijk:
Belang van VBA-code in Excel
Automatisering van repetitieve taken
Met VBA kunnen gebruikers repetitieve en tijdrovende taken in Excel automatiseren. Dit kan alles omvatten, van gegevensmanipulatie, opmaak en het genereren van rapporten tot complexe berekeningen. Door VBA-code te schrijven, kunt u macro’s maken om deze taken met slechts één klik op de knop uit te voeren.
Verbeterde functionaliteit:
Met VBA kunnen gebruikers de functionaliteit van Excel uitbreiden buiten de ingebouwde functies. U kunt aangepaste functies, gebruikersformulieren en dialoogvensters maken om met gebruikers te communiceren en een gebruiksvriendelijkere ervaring te bieden.
Gegevensanalyse en rapportage:
Met VBA kunt u geavanceerde tools voor gegevensanalyse en rapportage ontwikkelen. Dit kan het automatiseren van het proces van het importeren van gegevens, het opschonen en verwerken ervan omvatten, maar ook het genereren van uitgebreide rapporten en dashboards.
Integratie met andere applicaties:
VBA vergemakkelijkt de integratie tussen Excel en andere Microsoft Office-applicaties, maar ook met externe applicaties. Dit is met name handig wanneer u gegevens moet overbrengen tussen verschillende softwaretools of automatiseringsprocessen waarbij meerdere applicaties betrokken zijn.
Foutafhandeling en foutopsporing:
VBA biedt robuuste mogelijkheden voor foutafhandeling, waardoor u code kunt schrijven die fouten netjes afhandelt en betekenisvolle foutmeldingen geeft. Dit maakt het eenvoudiger om problemen met uw code op te lossen en fouten op te sporen.
En met VBA kun je veel dingen doen. VBA-code schrijven voor beginners kan een beetje moeilijk zijn, maar hier leest u hoe u het moet doen.
1. Voer een macro uit de lijst uit
Vanaf het tabblad Ontwikkelaars heeft u toegang tot de lijst met MACROS die u in uw werkmap of in PERSONAL.XLSB hebt staan. Om een macro in Excel uit te voeren, kunt u de onderstaande stappen volgen:
- Klik op de macroknop op het tabblad “Ontwikkelaar” en open de macrolijst.
- In deze MACROS-lijst vindt u alle macro’s die u in geopende werkmappen hebt, inclusief de persoonlijke macrowerkmap.
- Selecteer eenvoudigweg de macro die u wilt uitvoeren en klik op de knop “RUN”.
Wanneer u op de knop Uitvoeren klikt, wordt de macro uitgevoerd en wordt het dialoogvenster gesloten.
2. Voer een macro uit met een sneltoets
U kunt een macro ook uitvoeren met behulp van een sneltoets. Wanneer u een macro opneemt , wordt u doorgaans gevraagd een sneltoets te definiëren die u kunt gebruiken om die macro uit te voeren.
En als u een macro schrijft, kunt u een sneltoets instellen vanuit de macrolijst.
- Selecteer de naam van de macro waarvoor u de sneltoets wilt instellen en klik op opties.
- Klik daarna in het invoervak en druk op de sneltoets die u wilt instellen.
3. Voeg een macroknop toe aan de werkbalk Snelle toegang
U kunt ook een knop aan de werkbalk Snelle toegang toevoegen om een macro uit te voeren. U kunt de onderstaande stappen gebruiken:
- Klik eerst op de kleine vervolgkeuzelijst die u op de werkbalk Snelle toegang heeft en selecteer meer opdrachten, waarna u naar de daadwerkelijke opties voor het aanpassen van de werkbalk Snelle toegang gaat.
- Selecteer nu vanaf hier de waarheidsopdrachtmacro’s en selecteer de macro die u wilt toevoegen. Klik daarna op de knop Toevoegen en deze zal die macro toevoegen om de werkbalk voor snelle toegang te maken.
- Klik aan het einde op OK.
En je hebt een knop voor de macro die je hebt toegevoegd.
4. Voeg een macro toe aan een vorm
Stel dat u VBA-code heeft die u regelmatig in uw werk moet gebruiken. In deze situatie kunt u een knop maken en deze macro eraan toewijzen.
- Voeg eerst een eenvoudige vorm in vanaf het tabblad Invoegen ➜ Illustraties ➜ Vormen. Selecteer een van de vormen die u als knop wilt gebruiken.
- Klik daarna met de rechtermuisknop op deze vorm en selecteer “Macro toewijzen”.
- Selecteer nu in de macrolijst de macro die u aan de vorm wilt toewijzen.
Elke keer dat u op deze vorm klikt, wordt de toegewezen macro uitgevoerd.
5. Wijs een macro toe aan een formulierbesturingsknop
Naast het gebruik van een vorm, kunt u ook een bedieningsknop gebruiken om een macro uit te voeren.
- Ga eerst naar het tabblad Ontwikkelaars en de groep Besturingselementen en klik vervolgens op Invoegen. En klik in de vervolgkeuzelijst Invoegen op de knop om deze in te voegen.
- Daarna toont het u de lijst met macro’s waaruit u deze kunt selecteren.
- Zodra u de macro selecteert en op OK klikt, krijgt u een knop in het werkblad (u kunt de knoptekst wijzigen om er een betekenisvolle naam aan te geven).
6. Open en sluit een werkmap
U kunt ook een macro maken die wordt uitgevoerd bij het openen en sluiten van een werkmap. Dit betekent dat wanneer u een werkmap opent of sluit, de door u toegewezen macro wordt uitgevoerd. Om dit te doen, moet u “auto_open” en “auto_close” gebruiken.
Stel dat u een macro wilt toewijzen die moet worden uitgevoerd wanneer de werkmap wordt geopend. U moet auto_open gebruiken als de naam van deze macro.
Sub auto_open() Range("A1").Value = Now End Sub
Nu wordt deze micro uitgevoerd wanneer u de werkmap opent en de huidige datum invoert, en vervolgens cel A1 van het actieve blad invoert.
Op dezelfde manier kunt u ook “auto_close” gebruiken om deze macro te maken bij het sluiten van de werkmap.
7. Activeer en deactiveer een werkblad
Net zoals werkmap ook een macro kan uitvoeren bij het activeren en deactiveren van een werkblad. En in dit geval moet u deze macro toevoegen aan het codevenster van dit werkblad.
- Klik eerst met de rechtermuisknop op het spreadsheettabblad en klik op ‘Code weergeven’.
- Selecteer nu in het codevenster het werkblad in het linker vervolgkeuzemenu. Wanneer u iets wilt deactiveren; je krijgt een nieuwe sub met de naam “Worksheet_Deactivate”.
- Nu moet u in deze procedure de code toevoegen die u wilt uitvoeren wanneer u het werkblad uitschakelt.
Private Sub Worksheet_Deactivate() Range(“A1”).Value = Now End Sub
En als u een macro wilt uitvoeren wanneer u een werkblad activeert, selecteert u inschakelen in plaats van uitschakelen in de vervolgkeuzelijst.
Private Sub Worksheet_Activate() Range(“A1”).Value = Now End Sub
8. Voer een macro uit op een wijziging in het werkblad
U kunt ook een macro uitvoeren wanneer u wijzigingen aanbrengt in een werkblad. Bijvoorbeeld wanneer u een waarde in een cel invoert of een waarde uit een cel verwijdert.
Om dit te doen, moet u de eigenschap nogmaals in het codevenster van het spreadsheet invoeren en ‘Selectie bewerken’ selecteren in de vervolgkeuzelijst.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range(“A1”).Value = “Last Updated: ” & Format(Now, “dd-mmm-yy hh:mm:ss Am/pm”) End Sub
9. In een andere procedure
U kunt een macro uitvoeren vanuit een andere procedure met behulp van de call-instructie. Gebruik het trefwoord Bellen en vervolgens de naam van de macro.
Sub myStrikeThrough() If Selection.Value = “Yes” Then Selection.Value = “No” Else Selection.Value = “Yes” End If End Sub Sub markDone() Call myStrikeThrough Selection.Font.Bold = True End Sub
Wanneer u de macro “markDone” uitvoert, wordt eerst de macro “mystrikethrough” uitgevoerd en wordt vervolgens het selectielettertype vetgedrukt.
10. Plan een macro
U kunt ook plannen dat een macro op een specifiek tijdstip wordt uitgevoerd. Stel dat u ’s morgens om 8.30 uur een macro wilt uitvoeren. U kunt de tijd opgeven en wij zullen deze uitvoeren.
Om dit te doen, moet u een Application.OnTime-methode gebruiken. Stel dat u een macro “myCode” heeft, dan kunt u de code zoals hieronder schrijven om deze om 8:30 uur uit te voeren.
Application.OnTime TimeValue("08:30:00"), "myCode"