Video: Cursus Excel : Schrijf je eerste macro 2024
Een manier om code in een VBA-module te krijgen, is door je acties vast te leggen met behulp van de Excel-macrorecorder. Een ding dat u moet onthouden, is dat u alleen dingen kunt opnemen die u direct in Excel kunt doen. Het tonen van een berichtvak bevindt zich niet in het normale repertoire van Excel. (Het is een VBA-ding.) De macro-recorder is handig, maar in veel gevallen moet je waarschijnlijk minimaal een bepaalde code handmatig invoeren.
Hier volgt een stapsgewijs voorbeeld dat u laat zien hoe u een macro opneemt die een nieuw werkblad invoegt en alle behalve de eerste tien rijen en alle behalve de eerste tien kolommen verbergt. Als u dit voorbeeld wilt proberen, begint u met een nieuwe, lege werkmap en volgt u deze stappen:
-
Activeer een werkblad in de werkmap.
Elk werkblad zal doen.
-
Klik op het tabblad Ontwikkelaar en zorg ervoor dat Relatieve verwijzingen gebruiken niet is gemarkeerd.
Deze macro wordt opgenomen met behulp van Absolute References.
-
Kies Ontwikkelaar → Code → Macro opnemen of klik op het pictogram naast de knop Gereed aan de linkerkant van de statusbalk.
Excel geeft het dialoogvenster Recordmacro weer.
-
Geef in het dialoogvenster Recordmacro de macro TenByTen een naam en druk op Shift + T voor de sneltoets.
De macro kan worden uitgevoerd wanneer u op Ctrl + Shift + T drukt.
-
Klik op OK om te beginnen met opnemen.
Excel voegt automatisch een nieuwe VBA-module in het project in die overeenkomt met de actieve werkmap. Vanaf dit punt converteert Excel uw acties naar VBA-code. Terwijl u aan het opnemen bent, verandert het pictogram in de statusbalk in een klein vierkantje. Dit is een herinnering dat de macro-recorder actief is. U kunt ook op dat pictogram klikken om de macro-recorder te stoppen.
-
Klik op het pictogram Nieuw blad rechts van het laatste bladentabblad.
Excel voegt een nieuw werkblad in.
-
Selecteer de volledige kolom K (de 11e kolom) en druk op Ctrl + Shift + pijl naar rechts; klik vervolgens met de rechtermuisknop op een geselecteerde kolom en kies Verbergen in het snelmenu.
Excel verbergt alle geselecteerde kolommen.
-
Selecteer de hele rij 11 en druk op Ctrl + Shift + pijl omlaag; klik vervolgens met de rechtermuisknop op een geselecteerde rij en kies Verbergen in het snelmenu.
Excel verbergt alle geselecteerde kolommen.
-
Selecteer cel A1.
-
Kies Ontwikkelaar → Code → Stop opname of klik op de knop Opname stoppen op de statusbalk (het kleine vierkantje).
Excel stopt met het opnemen van uw acties.
Om deze nieuw opgenomen macro te bekijken, drukt u op Alt + F11 om de VBE te activeren. Zoek de naam van de werkmap in het projectvenster. U ziet dat het project een nieuwe module bevat. De naam van de module is afhankelijk van of u andere modules in de werkmap had toen u begon met het opnemen van de macro.Als dat niet het geval is, krijgt de module de naam Module1. U kunt op de module dubbelklikken om het codevenster voor de module te bekijken.
Dit is de code die wordt gegenereerd door uw acties:
Sub TenByTen () "TenByTen Macro" Sneltoets: Ctrl + Shift + T '-bladen. Toevoegen na: = ActiveSheet-kolommen ("K: K"). Selecteer bereik (selectie, selectie, einde (xlToRight)). Selecteer selectie. Volledige kolom. Hidden = True Rows ("11: 11"). Selecteer bereik (selectie, selectie, einde (xldown)). Selecteer selectie. Hele rij. Hidden = True Range ("A1"). Selecteer End Sub
Om deze macro uit te proberen, activeer elk werkblad en druk op de sneltoets die u in stap 4 hebt toegewezen: Ctrl + Shift + T.
Maak je geen zorgen als je geen sneltoets hebt toegewezen aan de macro. U kunt als volgt een lijst met beschikbare macro's weergeven en de gewenste macro uitvoeren:
-
Kies Ontwikkelaar → Code → Macro's.
Toetsenbordfans kunnen op Alt + F8 drukken. Bij elk van deze methoden wordt een dialoogvenster weergegeven met alle beschikbare macro's.
-
Selecteer de macro in de lijst (in dit geval TenByTen).
-
Klik op de knop Uitvoeren.
Excel voert de macro uit en u krijgt een nieuw werkblad met tien zichtbare rijen en tien zichtbare kolommen.
U kunt een willekeurig aantal opdrachten uitvoeren en een willekeurig aantal acties uitvoeren terwijl de macro-recorder actief is. Excel vertaalt plichtsgetrouw uw muisacties en toetsaanslagen naar VBA-code.
En je kunt de macro natuurlijk ook bewerken nadat je deze hebt opgenomen. Probeer de macro zodanig te bewerken dat deze een nieuw werkblad invoegt met negen zichtbare rijen en kolommen - perfect voor een Sudoku-puzzel.