Hoe om makro in Excel uit te voer en 'n makro-knoppie te skep

  • Deel Dit
Michael Brown

In hierdie tutoriaal sal ons baie verskillende maniere dek om 'n makro in Excel te laat loop - vanaf die lint en VB Editor, met 'n pasgemaakte sleutelbordkortpad, en deur jou eie makro-knoppie te skep.

Alhoewel die bestuur van 'n Excel-makro 'n eenvoudige ding is vir ervare gebruikers, is dit dalk nie onmiddellik duidelik vir beginners nie. In hierdie artikel sal jy verskeie metodes leer om makro's te laat loop, waarvan sommige jou manier van interaksie met Excel-werkboeke heeltemal kan verander.

    Hoe om 'n makro vanaf Excel-lint te laat loop

    Een van die vinnigste maniere om VBA in Excel uit te voer, is om 'n makro vanaf die Ontwikkelaar -oortjie uit te voer. As jy nog nooit voorheen met VBA-kode te doen gehad het nie, moet jy dalk eers die Ontwikkelaar-oortjie aktiveer. En dan, doen die volgende:

    1. Op die Ontwikkelaar -oortjie, in die Kode -groep, klik Makro's . Of druk die Alt + F8-kortpad.
    2. In die dialoogkassie wat verskyn, kies die makro van belang, en klik dan Run .

    Wenk. As die Ontwikkelaar-oortjie nie by jou Excel-lint gevoeg is nie, druk Alt + F8 om die Makro -dialoog oop te maak.

    Laat 'n makro met 'n pasgemaakte sleutelbordkortpad

    As jy uitvoer 'n sekere makro op 'n gereelde basis, kan jy 'n kortpadsleutel daaraan toewys. 'n Kortpad kan bygevoeg word terwyl 'n nuwe makro en 'n bestaande een opgeneem word. Voer hiervoor hierdie stappe uit:

    1. Op die Ontwikkelaar -oortjie, in die Kode -groep, klik Makro's .
    2. In die Makro dialoogkassie, klik Opsies .
    3. Die Makro-opsies dialoogkassie sal verskyn. In die Kortpad -sleutelboks, tik enige hoofletter of kleinletter wat jy vir die kortpad wil gebruik, en klik dan OK om die veranderinge te stoor.
      • Vir kleinletters is die kortpad Ctrl + letter .
      • Vir hoofletters is die kortpad Ctrl + Shift + letter .
    4. Maak die Makro dialoogkassie.

    Wenk. Dit word aanbeveel om altyd hoofletters sleutelkombinasies vir makros ( Ctrl + Shift + letter ) te gebruik om nie die verstek Excel-kortpaaie te ignoreer nie. Byvoorbeeld, as jy Ctrl + f aan 'n makro toewys, sal jy die vermoë verloor om die Vind en vervang dialoog te roep.

    Sodra die kortpad toegewys is, druk eenvoudig daardie sleutelkombinasie om hardloop jou makro.

    Hoe om makro vanaf VBA Editor te laat loop

    As jy mik om 'n Excel-prof te word, dan moet jy beslis weet hoe om 'n makro te begin nie net vanaf Excel nie, maar ook van die Visual Basic Editor. Die goeie nuus is dat dit baie makliker is as wat jy kan verwag :)

    1. Druk Alt + F11 om die Visual Basic Editor te begin.
    2. In die Project Explorer venster aan die linkerkant, dubbelklik op die module wat jou makro bevat om dit oop te maak.
    3. In die Kode venster aan die regterkant, sal jy al die makro's in die module sien. Plaas die wyser enige plek binne diemakro wat jy wil uitvoer en doen een van die volgende:
      • Op die kieslysbalk, klik Run > Run Sub/UserForm .
      • Op die nutsbalk, klik die Run Macro -knoppie (groen driehoek).

      Alternatiewelik kan jy een van die volgende kortpaaie gebruik:

      • Druk F5 om die hele kode te laat loop.
      • Druk F8 om elke kodelyn afsonderlik te laat loop. Dit is baie nuttig wanneer makro's getoets en ontfout word.

    Wenk. As jy daarvan hou om Excel vanaf jou sleutelbord te bestuur, kan hierdie tutoriaal handig te pas kom: 30 mees bruikbare Excel-sleutelbordkortpaaie.

    Hoe om 'n makroknoppie in Excel te skep

    Die tradisionele maniere om makro's te laat loop is nie moeilik nie, maar kan steeds 'n probleem bied as jy 'n werkboek deel met iemand wat geen ondervinding met VBA het nie - hulle sal eenvoudig nie weet waar om te kyk nie! Skep jou eie makro-knoppie om 'n makro regtig maklik en intuïtief te maak vir enigiemand.

    1. Op die Ontwikkelaar -oortjie, in die Kontrole -groep, klik Voeg in en kies Knoppie onder Van kontroles .
    2. Klik enige plek in die werkblad. Dit sal die Wys makro dialoogkassie oopmaak.
    3. Kies die makro wat jy aan die knoppie wil toewys en klik op OK .
    4. 'n Knoppie word in die werkblad ingevoeg. Om die knoppieteks te verander, klik met die rechtermuisknop op die knoppie en kies Wysig teks in die kontekskieslys.
    5. Vee dieverstek teks soos Button 1 en tik jou eie een. Opsioneel kan jy die teks vet of kursief formateer.
    6. As die teks nie in die knoppie pas nie, maak die knoppiebeheer groter of kleiner deur die groottehandvatsels te sleep. Wanneer jy klaar is, klik enige plek op die blad om die redigeermodus te verlaat.

    En nou kan jy die makro laat loop deur die knoppie daarvan te klik. Die makro wat ons toegewys het, formateer die geselekteerde selle soos getoon in die skermkiekie hieronder:

    Wenk. Jy kan ook 'n makro toewys aan 'n bestaande knoppie of ander vormkontroles soos draaiknoppies of rolbalke. Hiervoor, klik met die rechtermuisknop op die kontrole wat in jou werkblad ingevoeg is en kies Wys makro uit die opwipkieslys.

    Skep 'n makroknoppie van 'n grafiese voorwerp

    Ongelukkig , is dit nie moontlik om die voorkoms van knoppiekontroles aan te pas nie, want die knoppie wat ons 'n oomblik gelede geskep het, lyk nie baie mooi nie. Om 'n baie pragtige Excel-makro-knoppie te maak, kan jy vorms, ikone, beelde, WordArt en ander voorwerpe gebruik.

    As 'n voorbeeld sal ek jou wys hoe jy 'n makro kan laat loop deur op 'n vorm te klik:

    1. Op die Voeg in -oortjie, in die Illustrasies -groep, klik Vorms en kies die gewenste vormtipe, bv. reghoek met geronde hoeke:
    2. Klik in jou werkblad waar jy die vormvoorwerp wil invoeg.
    3. Formateer jou vormknoppie soos jy wil. Byvoorbeeld, jy kanverander die vul- en buitelynkleure of gebruik een van die vooraf gedefinieerde style op die Vormformaat -oortjie. Om 'n bietjie teks by die vorm te voeg, dubbelklik dit eenvoudig en begin tik.
    4. Om 'n makro aan die vorm te koppel, regsklik op die vormvoorwerp, kies Wys makro..., dan kies die gewenste makro en klik OK .

    Nou het jy 'n vorm wat soos 'n knoppie lyk en die toegewysde makro laat loop wanneer jy daarop klik:

    Hoe om 'n makro-knoppie by Vinnige Toegang Toolbar te voeg

    Die makro-knoppie wat in 'n werkblad ingevoeg is, lyk goed, maar om 'n knoppie by elke vel te voeg, is tydrowend. Om jou gunsteling makro vanaf enige plek toeganklik te maak, voeg dit by die Vinnige Toegang-nutsbalk. Dit is hoe:

    1. Klik met die rechtermuisknop op die Vinnige Toegang-nutsbalk en kies Meer opdragte... in die kontekskieslys.
    2. In die Kies opdragte van lys, kies Makro's .
    3. In die lys makro's, kies die een wat jy aan die knoppie wil toewys, en klik Voeg by . Dit sal die gekose makro na die lys van die Vinnige Toegang Toolbar-knoppies aan die regterkant skuif.

      Op hierdie stadium kan jy OK klik om die veranderinge te stoor of nog 'n paar aanpassings te doen wat hieronder beskryf word.

    4. As jy vind dat die ikoon wat deur Microsoft bygevoeg is nie geskik is vir jou makro nie, klik Verander om die verstekikoon met 'n ander een te vervang.
    5. In die Verander knoppie dialoogkassie watverskyn, kies 'n ikoon vir jou makro-knoppie. Opsioneel kan jy ook die Vertoonnaam verander om dit meer gebruikersvriendelik te maak. Anders as die makronaam, kan die knoppienaam spasies bevat.
    6. Klik twee keer OK om beide dialoogvensters toe te maak.

    Klaar! Nou het jy jou eie Excel-knoppie om makro te laat loop:

    Hoe om 'n makro-knoppie op Excel-lint te plaas

    In die geval dat jy 'n paar gereeld gebruikte makro's in jou Excel-nutsgoedkas het, kan jy dit vind gerieflik om 'n gepasmaakte lintgroep te hê, sê My Makro's , en voeg alle gewilde makro's by daardie groep as knoppies.

    Voeg eers 'n gepasmaakte groep by 'n bestaande oortjie of jou eie oortjie. Vir die gedetailleerde instruksies, sien asseblief:

    • Hoe om 'n gepasmaakte lintoortjie te skep
    • Hoe om 'n gepasmaakte groep by te voeg

    En voeg dan 'n makro-knoppie na jou gepasmaakte groep deur hierdie stappe uit te voer:

    1. Regsklik op die lint, en klik dan Pasmaak die lint .
    2. In die dialoogkassie wat verskyn, doen die volgende:
      • In die lysoortjies aan die regterkant, kies jou gepasmaakte groep.
      • In die Kies opdragte uit -lys aan die linkerkant, kies Makro's .
      • In die lys makro's, kies die een wat jy by die groep wil voeg.
      • Klik die Voeg by -knoppie.

      Vir hierdie voorbeeld het ek 'n nuwe oortjie met die naam Makro's en 'n pasgemaakte groep met die naam Formateringmakros geskep. In die skermkiekie hieronder voeg ons die Format_Headers makro na daardie groep.

    3. Die makro is nou by die pasgemaakte lintgroep gevoeg. Om jou makro-knoppie 'n vriendeliker naam te gee, kies dit en klik Hernoem :
    4. Tik in die Hernoem dialoogkassie enige naam wat jy wil hê in die Vertoon naam boks (spasies word toegelaat in knoppiename) en kies 'n ikoon vir jou makroknoppie. Wanneer jy klaar is, klik OK.
    5. Klik OK om jou veranderinge te stoor en die hoofdialoogkassie toe te maak.

    As 'n voorbeeld, ek het drie makroknoppies op my Excel-lint en kan nou enige van hulle laat loop met 'n knoppie klik:

    Hoe om 'n makro te laat loop wanneer 'n werkboek oopgemaak word

    Soms wil jy dalk 'n makro outomaties laat loop wanneer jy 'n werkboek oopmaak, vir byvoorbeeld om 'n boodskap te vertoon, 'n skrip uit te voer of 'n sekere reeks uit te vee. Dit kan op twee maniere gedoen word.

    Laat makro outomaties hardloop deur Werkboek_Open gebeurtenis te gebruik

    Hieronder is die stappe om 'n makro te skep wat outomaties loop wanneer jy 'n spesifieke werkboek oopmaak:

    1. Maak die werkboek oop waarin jy wil hê die makro moet uitgevoer word.
    2. Druk Alt + F11 om die Visual Basic Editor oop te maak.
    3. In die Project Explorer, dubbelklik ThisWorkbook om sy Kode-venster oop te maak.
    4. In die Object -lys bo die Kode-venster, kies Werkbook . Dit skep 'n leë prosedure vir die Open -geleentheid waarby jy jou eie kode kan byvoeg soos in die skermkiekie gewyshieronder.

    Byvoorbeeld, die volgende kode sal 'n welkome boodskap vertoon elke keer as die werkboek oopgemaak word:

    Private Sub Workbook_Open() MsgBox "Welcome to Monthly Report!" End Sub

    Sneller makro op werkboek oopmaak met Auto_Open gebeurtenis

    Nog 'n manier om 'n makro outomaties te laat loop by werkboek opening is deur die Auto_Open gebeurtenis te gebruik. Anders as die Workbook_Open-gebeurtenis, behoort Auto_Open() in 'n standaardkodemodule te sit, nie in ThisWorkbook .

    Hier is die stappe om so 'n makro te skep:

    1. In die Projekverkenner , regskliek Modules en klik dan Voeg in > Module .
    2. In die Kode -venster, skryf die volgende kode:

    Hier is 'n voorbeeld van die werklike kode wat 'n boodskapkassie vertoon wanneer werkboek oopmaak:

    Sub Auto_Open () MsgBox "Welkom by Maandelikse Verslag!" Einde Sub

    Let wel! Die Auto_Open -gebeurtenis is opgeskort en beskikbaar vir terugwaartse versoenbaarheid. In die meeste gevalle kan dit vervang word met die Workbook_Open gebeurtenis. Vir meer inligting, sien asseblief Workbook_Open vs. Auto_Open.

    Watter gebeurtenis jy ook al gebruik, jou makro sal outomaties loop elke keer as jy die Excel-lêer oopmaak wat die kode bevat. In ons geval word die volgende boodskapkassie vertoon:

    Noudat jy baie maniere ken om 'n makro in Excel te laat loop, hoef jy net die een te kies wat die beste by jou behoeftes pas. Ek dank u vir die lees en hoopom jou volgende week op ons blog te sien!

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.