Een VBA-macro of -script maken in Excel

Microsoft Excel stelt gebruikers in staat om functies en opdrachten te automatiseren met behulp van macro's en Visual Basic for Applications ( VBA ) scripting. VBA is de programmeertaal die Excel(VBA is the programming language Excel) gebruikt om macro's te maken. Het zal ook geautomatiseerde opdrachten uitvoeren op basis van specifieke voorwaarden.

Macro's zijn een reeks vooraf opgenomen opdrachten. Ze worden automatisch uitgevoerd wanneer een specifiek commando wordt gegeven. Als u taken in Microsoft Excel hebt die u herhaaldelijk uitvoert, zoals boekhouding, projectbeheer of salarisadministratie, kan het automatiseren van deze processen veel tijd besparen.

Onder het tabblad Ontwikkelaars op het (Developer)lint(Ribbon) in Excel kunnen gebruikers muisklikken en toetsaanslagen (macro's) opnemen. Sommige functies vereisen echter meer diepgaande scripting dan macro's kunnen bieden. Dit is waar VBA -scripting een enorm voordeel wordt. Hiermee kunnen gebruikers complexere scripts maken.

In dit artikel leggen we het volgende uit:

  • Scripts en macro's inschakelen
  • Hoe maak je een macro in Excel
  • Specifiek voorbeeld van een macro
  • Meer informatie over VBA
  • Maak een knop(Button) om aan de slag te gaan met VBA
  • Code toevoegen(Add Code) om de knopfunctionaliteit te geven(Button Functionality)
  • Werkte het?

Scripts en macro's inschakelen(Enabling Scripts & Macros)

Voordat u macro's of VBA -scripts in Excel kunt maken, moet u het tabblad Ontwikkelaars in het (Developer )lintmenu(Ribbon) inschakelen . Het tabblad Ontwikkelaars(Developer) is standaard niet ingeschakeld. Om het in te schakelen:

  • Open een Excel-werkblad.
  • Klik op Bestand(File ) > Opties( Options ) > Lint aanpassen.( Customize Ribbon.)

  • Zet een vinkje in het vakje naast Ontwikkelaar(Developer) .

  • Klik op het tabblad Ontwikkelaar in het (Developer)lintmenu(Ribbon) .

  • Klik vervolgens op Macrobeveiliging(Macro Security) en vink het vakje aan naast Alle macro's inschakelen (niet aanbevolen; mogelijk gevaarlijke code kan worden uitgevoerd). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Klik vervolgens op OK.

De reden dat macro's niet standaard zijn ingeschakeld en worden geleverd met een waarschuwing, is dat het computercode is die malware kan bevatten.

Zorg(Make) ervoor dat het document afkomstig is van een vertrouwde bron als u aan een gedeeld project in Excel en andere Microsoft - programma's werkt.

Als u klaar bent met het gebruik van uw scripts en macro's, schakelt u alle macro's uit om te voorkomen dat mogelijk schadelijke code andere documenten infecteert.

Maak een macro in Excel(Create a Macro in Excel)

Alle acties die u in Excel uitvoert(Excel) terwijl u een macro opneemt, worden eraan toegevoegd. 

  • Klik op het tabblad Ontwikkelaar op Macro opnemen(Record Macro) .

  • Voer een macronaam(Macro name) , een sneltoets(Shortcut key) en een beschrijving in. (Description. )Macronamen(Macro) moeten beginnen met een letter en mogen geen spaties bevatten. De sneltoets moet een letter zijn.

Kies uit de volgende opties waar u de macro wilt opslaan:

  • Persoonlijke macrowerkmap(Personal Macro Workbook) : hiermee wordt een verborgen Excel- document gemaakt met opgeslagen macro's die met alle Excel- documenten kunnen worden gebruikt.
  • Nieuwe werkmap(New Workbook) : zal een nieuw Excel -document maken om de gemaakte macro's op te slaan.
  • Deze werkmap(This Workbook) : dit wordt alleen toegepast op het document dat u momenteel aan het bewerken bent.

Klik op OK als u klaar bent . 

  • Doorloop(Run) de acties die u wilt automatiseren. Als u klaar bent, klikt u op Opname stoppen(Stop Recording)
  • Als u toegang wilt tot uw macro, gebruikt u de sneltoets die u eraan hebt gegeven.

Specifiek voorbeeld van een macro(Specific Example Of a Macro)

Laten we beginnen met een eenvoudige spreadsheet voor klanten en hoeveel ze verschuldigd zijn. We beginnen met het maken van een macro om het werkblad op te maken.

Laten we aannemen dat u besluit dat alle spreadsheets een ander formaat moeten gebruiken, zoals het plaatsen van voor- en achternaam in aparte kolommen. 

U kunt dit handmatig wijzigen. Of u kunt een programma maken met behulp van een macro om het automatisch correct voor u op te maken.

Neem de macro op(Record The Macro)

  • Klik op Macro opnemen(Record Macro) . Laten we het Format_Customer_Data noemen en op OK klikken . 
  • Om de gewenste opmaak te krijgen, zullen we de eerste kolomnaam wijzigen in Voornaam(First Name)
  • Voeg vervolgens een kolom toe naast A en noem deze Achternaam(Last Name)
  • Markeer(Highlight) alle namen in de eerste kolom (die nog steeds de voor- en achternaam bevatten) en klik op Gegevens(Data) in de lintnavigatie.
  • Klik op Tekst naar kolommen(Text to Columns) .

  • Vink Gescheiden(Delimited) > Volgende(Next ) > Gescheiden door spatie(Separate by Space) > Volgende(Next ) > Voltooien(Finish) aan . Zie onderstaande schermafbeelding en hoe de voor- en achternaam werden gescheiden door het bovenstaande proces.

  • Markeer de bedragen om het veld Verschuldigd saldo op te maken. (Balance Due)Klik(Click) op Home > Conditionele opmaak(Conditional Formatting) > Markeer celregels(Highlight Cell Rules) > Groter dan(Greater Than ) > 0 .

Hiermee worden de cellen gemarkeerd die een saldo hebben. We hebben een paar klanten toegevoegd zonder saldo vanwege de opmaak verder te illustreren.  

  • Ga terug naar Ontwikkelaar(Developer ) en klik op Opname stoppen(Stop Recording) .

Pas de macro toe(Apply The Macro)

Laten we beginnen met de originele spreadsheet voordat we de macro hebben opgenomen om deze correct te formatteren. Klik(Click) op Macro's , selecteer en voer(Run) de macro uit die u zojuist hebt gemaakt.

Wanneer u een macro uitvoert, wordt alle opmaak voor u gedaan. Deze macro die we zojuist hebben gemaakt, is opgeslagen in de Visual Basic Editor .

Gebruikers kunnen macro's op verschillende manieren uitvoeren. Lees Een macro uitvoeren(Run a macro) voor meer informatie.  

Meer informatie over VBA(Learn More About VBA)

Klik voor meer informatie over VBA op Macro op het tabblad Ontwikkelaars . (Developer)Zoek er een die je hebt gemaakt en klik op Bewerken.(Edit.)

De code die u in het bovenstaande vak ziet, is gemaakt toen u uw macro opnam. 

Het is ook wat u gaat gebruiken als u andere betalingsspreadsheets van klanten op dezelfde manier wilt opmaken.

Maak een knop om aan de slag te gaan met VBA(Create a Button To Get Started With VBA)

We gebruiken dezelfde spreadsheet hierboven met klanten en hoeveel ze verschuldigd zijn, laten we een valuta-omzetter maken.

  • Ga naar het tabblad  Ontwikkelaar(Developer ) om een ​​knopelement in te voegen .
  • Selecteer ActiveX-opdrachtknop(ActiveX Command Button ) in de vervolgkeuzelijst naast Invoegen(Insert) in het gedeelte Besturingselementen (Controls).

  • Sleep(Drag) de knop ergens in de spreadsheet, zodat u deze gemakkelijk kunt openen en later kunt wijzigen als u dat wilt.

  • Om de code toe te voegen, klikt u met de rechtermuisknop op de knop en selecteert u Eigenschappen(Properties) . We zullen de naam(Name) behouden als CommandButton en het bijschrift(Caption ) om te converteren( Convert ) (dit is de knoptekst).

Code toevoegen om de knopfunctionaliteit te geven(Add Code To Give The Button Functionality)

VBA - codering vindt niet plaats in de Excel -interface. Dit gebeurt in een aparte omgeving.  

  • Ga naar het tabblad Ontwikkelaars en zorg ervoor dat (Developer)Ontwerpmodus(Design Mode) actief is.

  • Om toegang te krijgen tot de code van de knop die we zojuist hebben gemaakt, klikt u er met de rechtermuisknop op en selecteert u Bekijk code(View Code) .

  • Kijkend naar de code in de onderstaande schermafbeelding, merk op dat het begin ( Private Sub ) en einde ( End Sub ) van de code er al is.

  • De onderstaande code stuurt de valutaconversieprocedure aan.

ActiveCell.Value = (ActiveCell * 1.28)

Ons doel in deze sectie is om de valuta in onze spreadsheet om te rekenen. Het bovenstaande script geeft de wisselkoers weer van GBP naar USD . De nieuwe waarde van een cel is wat er momenteel is, vermenigvuldigd met 1,28.

De onderstaande schermafbeelding laat zien hoe de code eruitziet in het VBA - venster nadat u deze hebt ingevoegd.

  • Ga naar Bestand(File ) in de navigatie bovenaan en klik op Sluiten en terugkeren naar Microsoft Excel(click on Close and Return to Microsoft Excel) om terug te keren naar de hoofdinterface van Excel .

Werkte het?(Did It Work?)

Voordat u uw code kunt testen, moet u eerst de ontwerpmodus(Design Mode) uitschakelen (klik erop) om verdere wijzigingen te voorkomen en de knop functionaliteit te geven.

  • Typ(Type) een willekeurig getal in uw spreadsheet en klik vervolgens op de knop Converteren(Convert) . Als de waarde van je nummer met ongeveer een kwart stijgt, is het gelukt.

Voor dit voorbeeld heb ik het getal 4 in een cel gezet. Nadat u op Converteren(Convert) had geklikt, veranderde het nummer in 5.12. Aangezien 4 keer 1,28 5,12 is, is de code correct uitgevoerd.

Nu u begrijpt hoe u een macro of script in Excel maakt, kunt u ze gebruiken om een ​​groot aantal acties in (Excel)Excel te automatiseren .



About the author

Ik ben een computerprofessional met meer dan 10 jaar ervaring. In mijn vrije tijd help ik graag aan een bureau en leer ik kinderen internetten. Mijn vaardigheden omvatten veel dingen, maar het belangrijkste is dat ik weet hoe ik mensen kan helpen bij het oplossen van problemen. Als je iemand nodig hebt die je kan helpen met iets dringends of gewoon wat basistips wilt, neem dan contact met me op!



Related posts