Video: De Schotse Hooglanden ontdekken... van A tot Z ;-) 2024
Een van de manieren waarop je VBA-code in een VBA-module kunt krijgen, is door de Excel-macrorecorder te gebruiken om je acties vast te leggen en ze om te zetten in VBA-code. Niet alle taken kunnen echter naar VBA worden vertaald door een macro op te nemen. U kunt ook de code rechtstreeks invoeren of de code van de ene module kopiëren en in een andere module plakken.
Tekst invoeren en bewerken in een VBA-module werkt zoals u zou verwachten. U kunt andere dingen selecteren, kopiëren, knippen, plakken en andere dingen doen met de tekst.
Een enkele regel VBA-code kan zo lang zijn als je wilt. U kunt echter het -regel-voortzettingsteken gebruiken om lange regels code op te splitsen. Als u een enkele regel met code (ook bekend als -instructie ) van de ene regel naar de volgende wilt doorgaan, beëindigt u de eerste regel met een spatie gevolgd door een onderstrepingsteken (_). Ga dan verder met de verklaring op de volgende regel. Hier is een voorbeeld van een enkele instructie opgesplitst in drie regels:
Selectie. Sorteer Key1: = Range ("A1"), _ Order1: = xlAscending, Header: = xlGuess, _ Orientation: = xlTopToBottom
Deze instructie zou op dezelfde manier worden uitgevoerd als deze op één regel was ingevoerd (zonder regel vervolg karakters).
VBE heeft meerdere niveaus van ongedaan maken en opnieuw uitvoeren. Als u een verklaring hebt verwijderd die u niet zou moeten hebben, gebruikt u de knop Ongedaan maken op de werkbalk (of drukt u op Ctrl + Z) totdat de instructie weer verschijnt. Nadat u het ongedaan hebt gemaakt, kunt u de knop Opnieuw gebruiken gebruiken om de ongedaan gemaakte wijzigingen uit te voeren.
Klaar om een echte, live code in te voeren? Voer de volgende stappen uit:
-
Maak een nieuwe werkmap in Excel.
-
Druk op Alt + F11 om VBE te activeren.
-
Klik op de naam van de nieuwe werkmap in het projectvenster.
-
Kies Invoegen → Module om een VBA-module in het project in te voegen.
-
Typ de volgende code in de module:
Sub GuessName () Dim Msg as String Dim Ans As Long Msg = "Is uw naam" & Toepassing. Gebruikersnaam & "?" Ans = MsgBox (Msg, vbYesNo) Als Ans = vbNo Then MsgBox "Oh, laat maar." Als Ans = vb Ja dan MsgBox "Ik moet helderziend zijn!" End Sub
-
Zorg ervoor dat de cursor zich ergens binnen de tekst die u hebt getypt bevindt en druk dan op F5 om de procedure uit te voeren.
F5 is een snelkoppeling voor de opdracht Uitvoeren → Sub- / gebruikersactie uitvoeren.
Wanneer u de in stap 5 vermelde code invoert, merkt u misschien dat VBE enkele aanpassingen aanbrengt in de tekst die u invoert. Nadat u bijvoorbeeld de Sub-instructie typt, voegt VBE automatisch de End Sub-instructie in. En als u de spatie weglaat vóór of na een gelijkteken, voegt VBE de ruimte voor u in. Bovendien wijzigt VBE de kleur en het hoofdlettergebruik van sommige tekst. Deze veranderingen zijn de manier van VBE om dingen netjes en leesbaar te houden.
Als u de vorige stappen hebt gevolgd, hebt u zojuist een VBA Sub-procedure gemaakt, ook wel een macro genoemd. Wanneer u op F5 drukt, voert Excel de code uit en volgt hij de instructies. Met andere woorden, Excel evalueert elke uitspraak en doet wat je hebt gezegd. U kunt deze macro een onbeperkt aantal keren uitvoeren, hoewel deze na enkele tientallen uitvoeringen zijn aantrekkelijkheid verliest.
Deze eenvoudige macro gebruikt de volgende concepten:
-
Een subprocedure definiëren (de eerste regel)
-
Variabelen declareren (de Dim-instructies)
-
Waarden toewijzen aan variabelen (Msg en Ans)
-
Concatenating (lid worden) een reeks (met behulp van de operator &)
-
Een ingebouwde VBA-functie (MsgBox)
-
VBA-constanten gebruiken gebruiken (vb JaNo, vbNo en vb Ja)
-
Een If-Then-constructie gebruiken (tweemaal)
-
Een subprocedure beëindigen (de laatste regel)
Zoals eerder vermeld, kunt u de code kopiëren en in een VBA-module plakken. Een Sub- of Functie-procedure die u voor één project schrijft, kan bijvoorbeeld ook nuttig zijn in een ander project. In plaats van tijd te verspillen met het opnieuw invoeren van de code, kunt u de module activeren en de normale kopieer- en plakprocedures gebruiken (Ctrl + C om te kopiëren en Ctrl + V om te plakken). Nadat u de code in een VBA-module hebt geplakt, kunt u de code indien nodig aanpassen.