Hoe kinne jo in makro opnimme yn Excel

  • Diel Dit
Michael Brown

Stap-foar-stap tutorial foar begjinners om in makro op te nimmen, te besjen, út te fieren en op te slaan. Jo sille ek wat ynderlike meganika leare fan hoe't makro's wurkje yn Excel.

Makro's binne in geweldige manier om repetitive taken yn Excel te automatisearjen. As jo ​​​​fine dat jo deselde dingen hieltyd wer dogge, registrearje jo bewegingen as in makro en jou der in fluchtoets oan. En no kinne jo alle opnommen aksjes automatysk útfiere, mei ien toetsoanslag!

    Hoe kinne jo in makro opnimme yn Excel

    Lykas oare VBA-ark, Excel-makro's wenje op it ljepblêd ûntwikkelder , dat standert ferburgen is. Dus, it earste wat jo moatte dwaan is it ljepblêd Untwikkelders ta te foegjen oan jo Excel-lint.

    Om in makro yn Excel op te nimmen, fiere dizze stappen út:

    1. Op de Ljepblêd Untwikkelder , yn de groep Koade , klikje op de knop Makro opnimme .

      As alternatyf, klikje op de Opnimme Makro knop oan de linkerkant fan de Status -balke:

      As jo ​​leaver mei it toetseboerd wurkje as mei de mûs, druk dan op de folgjende key sequence Alt , L , R (ien-foar-ien, net alle kaaien tagelyk).

    2. Yn it dialoochfinster Record Macro dat ferskynt, konfigurearje de haadparameters fan jo makro:
      • Yn de Macro namme fak, fier de namme foar jo makro yn. Besykje it sinfol en beskriuwend te meitsjen, dus letter kinne jo de makro fluch fine yn 'e list.

        ynbesparje jo in protte tiid en senuwen, wêrtroch jo learkurve soepeler en makro's effisjinter meitsje.

        Brûk relative referinsjes foar makro-opname

        Standert brûkt Excel absolút ferwizing om in makro op te nimmen. Dat betsjut dat jo VBA-koade altyd ferwize nei krekt deselde sellen dy't jo selekteare, nettsjinsteande wêr't jo yn it wurkblêd binne as jo de makro útfiere.

        It is lykwols mooglik om it standertgedrach te feroarjen nei relative ferwizing . Yn dit gefal sil VBA gjin seladressen hurdkodearje, mar sil wurkje relatyf oan 'e aktive (op it stuit selekteare) sel.

        Om in makro op te nimmen mei relative ferwizing, klikje op de Gebrûk Relative References knop op de Developer ljepper. Om werom te gean nei absolute ferwizing, klikje jo nochris op de knop om it út te skeakeljen.

        As jo ​​bygelyks it ynstellen fan in tabel opnimme mei de standert absolute ferwizing, sil jo makro altyd meitsje de tabel opnij op itselde plak (yn dit gefal, Header yn A1, Item1 yn A2, Item2 yn A3).

        Sub Absolute_Referencing() Range("A1"). Selektearje ActiveCell.FormulaR1C1 = "Header" Range( "A2"). Selektearje ActiveCell.FormulaR1C1 = "Item1" Range( "A3"). Selektearje ActiveCell.FormulaR1C1 = "Item2" End Sub

        As jo ​​deselde makro opnimme mei relative ferwizing, sil de tabel oanmakke wurde wêr't jo de rinnerke pleatse foardat jo de makro útfiere ( Header yn deaktive sel, Item1 yn de ûnderste sel, ensafuorthinne).

        Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Range( "A1" ). Selektearje ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ). Selektearje ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Range( "A1" ). Selektearje End Sub

        Notysjes:

        • As jo ​​​​relatyf ferwizings brûke, wês wis dat jo de earste sel selektearje foardat jo begjinne mei it opnimmen fan in makro.
        • Relative referinsje wurket net foar alles. Guon Excel-funksjes, bgl. it konvertearjen fan in berik nei in tabel, fereaske absolute ferwizings.

        Selektearje berik mei fluchtoetsen

        As jo ​​in sel of in berik fan sellen selektearje mei de mûs- of pylktoetsen, Excel skriuwt de seladressen. Dêrtroch, as jo in makro útfiere, sille de opnommen operaasjes krekt op deselde sellen wurde útfierd. As dit net is wat jo wolle, brûk dan fluchtoetsen foar it selektearjen fan sellen en berik.

        Litte wy as foarbyld in makro opnimme dy't in spesifyk formaat (d-mmm-yy) ynstelt foar de datums yn 'e tabel hjirûnder:

        Dêrfoar registrearje jo de folgjende operaasjes: druk op Ctrl + 1 om it dialoochfinster Sellen opmaak te iepenjen > Datum & GT; kieze opmaak & GT; OK. As jo ​​opname it selektearjen fan it berik mei de mûs- of pylktoetsen omfettet, sil Excel de folgjende VBA-koade produsearje:

        Sub Date_Format() Range( "A2:B4"). ÚtkiezeSelection.NumberFormat = "d-mmm-yy" End Sub

        It útfieren fan de boppesteande makro soe elke kear it berik A2:B4 selektearje. As jo ​​noch wat rigen oan jo tabel taheakje, wurde se net ferwurke troch de makro.

        Lit no sjen wat der bart as jo de tabel selektearje mei in fluchtoets.

        Pet it rinnerke yn 'e boppeste lofter sel fan it doelberik (A2 yn dit foarbyld), begjinne opnimmen en druk op Ctrl + Shift + End . As resultaat sil de earste rigel fan 'e koade der sa útsjen:

        Range(Selection, ActiveCell.SpecialCells(xlLastCell)). Selektearje

        Dizze koade selekteart alle sellen fan 'e aktive sel nei de lêste brûkte sel, wat betsjut dat alle nije gegevens automatysk yn' e seleksje opnommen wurde.

        Alternatyf kinne jo Ctrl + Shift + Arrows kombinaasjes brûke:

        • Ctrl + Shift + Pijl nei rjochts om alle brûkte sellen nei rjochts te selektearjen, folge troch
        • Ctrl + Shift + Pijl omleech om alle brûkte sellen nei ûnderen te selektearjen.

        Dit sil twa koaderigels generearje ynstee fan ien, mar it resultaat sil itselde wêze - alle sellen mei gegevens nei ûnderen en rjochts fan 'e aktive sel wurde selektearre:

        Range(Seleksje, Seleksje. Ein ( xlRjochts)). Selektearje berik (Seleksje, Seleksje. Ein (xlDown)). Selektearje

        In makro opnimme foar seleksje ynstee fan spesifike sellen

        De boppesteande metoade (dat wol sizze alle brûkte sellen te selektearjen dy't begjinne mei de aktive sel) wurket geweldich foar it útfieren fan deselde operaasjes op 'e hiele tabel. Yn guonsituaasjes kinne jo lykwols wolle dat de makro in bepaald berik ferwurket ynstee fan de hiele tabel.

        Dêrfoar leveret VBA it Seleksje -objekt dat ferwiist nei de op it stuit selektearre sel(en) . De measte dingen dy't dien wurde mei in berik, kin ek dien wurde mei seleksje. Hokker foardiel jout it jo? Yn in protte gefallen hoege jo hielendal neat te selektearjen by it opnimmen - skriuw gewoan in makro foar de aktive sel. En dan, selektearje elk berik dat jo wolle, rinne de makro, en it sil manipulearje de hiele seleksje.

        Bygelyks, dizze ien-line makro kin opmaak elk oantal selektearre sellen as persintaazjes:

        Sub Percent_Format () Selection.NumberFormat = "0.00%" End Sub

        Plan foarsichtich wat jo opnimme

        De Microsoft Excel Macro Recorder vangt hast al jo aktiviteit op, ynklusyf de flaters dy't jo meitsje en korrigearje. As jo ​​bygelyks op Ctrl + Z drukke om wat ûngedien te meitsjen, sil dat ek opnommen wurde. Uteinlik kinne jo einigje mei in protte ûnnedige koade. Om dit foar te kommen, bewurkje de koade yn 'e VB-bewurker of stopje mei opnimmen, wiskje in gebrekkige makro en begjin opnij mei opnimmen.

        Backup of bewarje wurkboek foardat jo in makro útfiere

        It resultaat fan Excel makro's kinne net ûngedien makke wurde. Dus, foar de earste run fan in makro, makket it sin om in kopy fan it wurkboek te meitsjen of op syn minst jo aktuele wurk te bewarjen om ûnferwachte wizigingen te foarkommen. As de makro wat ferkeard docht,Slút it wurkboek gewoan sûnder opslaan.

        Hâld opnommen makro's koart

        By it automatisearjen fan in folchoarder fan ferskate taken, kinne jo ferlet wurde om se allegear yn ien makro op te nimmen. D'r binne twa wichtichste redenen om dit net te dwaan. As earste is it dreech om in lange makro soepel op te nimmen sûnder flaters. Twads binne grutte makro's lestich te begripen, te testen en te debuggen. Dêrom is it in goed idee om in grutte makro yn ferskate dielen te splitsen. Bygelyks, by it meitsjen fan in gearfettingstabel út meardere boarnen, kinne jo ien makro brûke om ynformaasje te ymportearjen, in oare om gegevens te konsolidearjen, en in tredde om de tabel op te meitsjen.

        Ik hoopje dat dizze tutorial jo wat ynsjoch jûn hat oer hoe't jo in makro opnimme yn Excel. Hoe dan ek, ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

        makro nammen, kinne jo gebrûk meitsje fan letters, sifers, en underscores; it earste karakter moat in letter wêze. Spaasjes binne net tastien, dus jo moatte of in namme hâlde mei in ienwurdich wurd, begjinnend elk diel mei in haadletter (bygelyks MyFirstMacro ) of aparte wurden mei ûnderstreken (bygelyks My_First_Macro ).
      • Typ yn it fak Sneltoets elke letter om in toetseboerd fluchtoets ta te jaan oan de makro (opsjoneel).

        Sawol haadletters as lytse letters binne tastien, mar jo soene ferstannich wêze om haadlettertoetskombinaasjes te brûken ( Ctrl + Shift + letter ), om't makro-fluchtoetsen alle standertsneltoetsen foar Excel oerskriuwe wylst it wurkboek mei de makro iepen is. As jo ​​bygelyks Ctrl + S tawize oan in makro, sille jo de mooglikheid ferlieze om jo Excel-bestannen te bewarjen mei in fluchtoets. It tawizen fan Ctrl + Shift + S sil de standert opslaan fluchtoets behâlde.

      • Fan de Makro opslaan yn útklaplist, kies wêr jo jo makro opslaan wolle:
        • Persoanlik makrowurkboek - bewarret de makro yn in spesjaal wurkboek mei de namme Personal.xlsb . Alle makro's opslein yn dit wurkboek binne beskikber as jo Excel brûke.
        • Dit wurkboek (standert) - de makro wurdt opslein yn it aktive wurkboek en sil beskikber wêze as jo it wurkboek opnij iepenje of diel it mei oare brûkers.
        • Nije wurkboek - makket in nij wurkboek oan en slacht de makro op yn dat wurkboek.
      • Yn de Beskriuwing fak, typ in koarte beskriuwing fan wat jo makro docht (opsjoneel).

        Hoewol dit fjild opsjoneel is, ried ik oan dat jo altyd in koarte beskriuwing jouwe. As jo ​​​​in protte ferskillende makro's meitsje, sil it jo helpe om fluch te begripen wat elke makro docht.

      • Klik op OK om it opnimmen fan de makro te begjinnen.

    3. Fier de aksjes út dy't jo wolle om te automatisearjen (sjoch asjebleaft it opname-makro-foarbyld).
    4. As klear, klikje op de knop Opname stopje op it ljepblêd ûntwikkelder :

      Of de analoge knop op de Status -balke:

    Foarbyld fan it opnimmen fan in makro yn Excel

    Om te sjen hoe't it yn 'e praktyk wurket, litte wy in makro opnimme dy't wat opmaak tapast op de selektearre sellen. Hjirfoar dwaan it folgjende:

    1. Selektearje ien of mear sellen dy't jo opmaak wolle.
    2. Op it ljepblêd ûntwikkelder of Status bar, klik op Record Macro .
    3. Yn it dialoochfinster Record Macro , konfigurearje de folgjende ynstellings:
      • Namme de makro Header_Formatting (omdat wy kolomkoppen sille opmaak).
      • Plaze de rinnerke yn it fak Sneltoets en druk tagelyk op Shift + F-toetsen. Dit sil de fluchtoets Ctrl + Shift + F tawize oan 'e makro.
      • Kies om de makro yn dit wurkboek op te slaan.
      • Foar Beskriuwing , brûk de folgjende tekst dy't útlizze wat de makro docht: Maakt tekst fet, foeget folkleur ta en sintraal .
      • Klik op OK om de opname te begjinnen.

    4. Formatearje de foarselekteare sellen sa't jo wolle. Foar dit foarbyld brûke wy de fette tekstopmaak, ljochtblauwe fillkleur en sintrumôfstimming.

      Tip. Selektearje gjin sellen nei't jo de makro opnimme binne begon. Dit sil derfoar soargje dat alle opmaak tapast op de seleksje , net in spesifyk berik.

    5. Klik op Opname stopje op it ljepblêd ûntwikkelder of op de Status -balke.

    Dat is it! Jo makro is opnommen. No kinne jo elk berik fan sellen yn elk blêd selektearje, druk op de tawiisde fluchtoets (Ctrl+ Shift + F ), en jo oanpaste opmaak sil daliks tapast wurde op de selektearre sellen.

    Hoe kinne jo wurkje mei opnommen makro's yn Excel

    Alle haadopsjes dy't Excel biedt foar makro's kinne tagonklik wurde fia it dialoochfinster Makro . Om it te iepenjen, klikje jo op de knop Makro's op it ljepblêd ûntwikkelder of druk op de Alt+ F8 fluchtoets.

    Yn it dialoochfinster dy't iepenet, kinne jo in list mei makro's besjen dy't beskikber binne yn alle iepen wurkboeken of assosjearre mei in bepaald wurkboek en gebrûk meitsje fan de folgjende opsjes:

    • Run - fiert de selektearre makro út .
    • Stap yn - lit jo de makro debuggen en testen yn 'e Visual Basic Editor.
    • Bewurkje - iepenet de selektearre makro ynde VBA Editor, dêr't jo de koade besjen en bewurkje kinne.
    • Wiskje - wisket de selektearre makro permanint.
    • Opsjes – lit it feroarjen fan de makro's eigenskippen lykas de assosjearre Sneltoets kaai en Beskriuwing .

    Hoe te sjen makro's yn Excel

    De koade fan in Excel-makro kin besjoen en wizige wurde yn de Visual Basic Editor. Om de bewurker te iepenjen, druk op Alt + F11 of klik op de knop Visual Basic op it ljepblêd ûntwikkelder .

    As jo ​​sjogge de VB Editor foar it earst, fiel asjebleaft net ûntmoedige of yntimidearre. Wy sille net prate oer de struktuer of syntaksis fan 'e VBA-taal. Dizze seksje sil jo gewoan wat basisbegryp jaan oer hoe't Excel-makro's wurkje en wat it opnimmen fan in makro eins docht.

    De VBA-bewurker hat ferskate finsters, mar wy sille rjochtsje op de twa wichtichste:

    Project Explorer - toant in list fan alle iepen wurkboeken en har blêden. Derneist toant it modules, brûkersformulieren en klassemodules.

    Koadefinster - dit is wêr't jo VBA-koade besjen, bewurkje en skriuwe kinne foar elk objekt dat yn 'e Project Explorer werjûn wurdt.

    Doe't wy de foarbyldmakro opnaam, barden de folgjende dingen yn 'e efterkant:

    • In nije module ( Moduel1 ) wie ynfoege.
    • De VBA-koade fan de makro is skreaun yn it Koadefinster.

    Om de koade fan in spesifikemodule, dûbelklikje op de module ( Module1 yn ús gefal) yn it Project Explorer-finster. Normaal hat in makrokoade dizze dielen:

    Makronamme

    Yn VBA begjint elke makro mei Sub folge troch de makronamme en einiget mei End Sub , wêrby't "Sub" koart is foar Subroutine (ek wol Proseduere neamd). Us foarbyldmakro wurdt Header_Formatting() neamd, dus de koade begjint mei dizze rigel:

    Sub Header_Formatting()

    As jo ​​de makro omneame wolle , wiskje dan de hjoeddeistige namme en typ in nije direkt yn it Koadefinster.

    Kommentaar

    Regels mei in apostrof (') foarôfgeand en standert yn grien werjûn wurde net útfierd. Dit binne opmerkings tafoege foar ynformaasjedoelen. De opmerkingsrigels kinne feilich fuortsmiten wurde sûnder de funksjonaliteit fan de koade te beynfloedzjen.

    Meastentiids hat in opnommen makro 1 - 3 opmerkingsrigels: makronamme (ferplicht); beskriuwing en fluchtoets (as opjûn foar opname).

    Utfierbere koade

    Nei opmerkings komt der de koade dy't de aksjes útfiert dy't jo opnommen hawwe. Soms kin in opnommen makro in protte oerstallige koade hawwe, wat noch nuttich kin wêze om út te finen hoe't dingen wurkje mei VBA :)

    De ôfbylding hjirûnder lit sjen wat elk diel fan ús makro's koade docht:

    Hoe kinne jo in opnommen makro útfiere

    Troch in makro út te fieren, fertelle jo Excel om werom te gean nei de opnommen VBA-koade en dekrekt deselde stappen. D'r binne in pear manieren om in opnommen makro yn Excel út te fieren, en hjir binne de rapste:

    • As jo ​​in toetseboerdfluchtoets oan de makro hawwe tawiisd, druk dan op dy fluchtoets .
    • Druk op Alt + 8 of klik op de knop Makro's op it ljepblêd ûntwikkelder . Selektearje yn it dialoochfinster Makro de winske makro en klik op Utfiere .

    It is ek mooglik om te rinnen in opnommen makro troch te klikken op jo eigen knop. Hjir binne de stappen om ien te meitsjen: Hoe meitsje jo in makro-knop yn Excel.

    Hoe kinne jo makro's opslaan yn Excel

    Of jo in makro opnommen hawwe of VBA-koade hânmjittich skreaun hawwe, om de makro te bewarjen , Jo moatte it wurkboek bewarje as makro-ynskeakele (.xlms-útwreiding). Hjir is hoe:

    1. Klik yn it wurkboek dat de makro befettet op de knop Bewarje of druk op Ctrl + S.
    2. Yn de Bewarje as dialoochfinster, kies Excel Macro-Enabled Workbook (*.xlsm) út it útklapmenu Bewarje as type , en klik dan op Bewarje :

    Excel-makro's: wat is en wat is net opnommen

    Sa't jo krekt sjoen hawwe, is it frij maklik om in makro yn Excel op te nimmen. Mar om effektive makro's te meitsjen, moatte jo begripe wat der efter de skermen bart.

    Wat wurdt opnommen

    De Macro Recorder fan Excel fangt in soad dingen op - hast alle mûsklikken en toetsoandrukken. Dat, jo moatte soarchfâldich oer jo stappen tinke om tefolle koade te foarkommen dat kinresultearje yn ûnferwacht gedrach fan jo makro. Hjirûnder binne in pear foarbylden fan wat Excel registrearret:

    • Sellen selektearje mei de mûs of toetseboerd. Allinnich de lêste seleksje foar in aksje wurdt opnommen. As jo ​​bygelyks it berik A1:A10 selektearje, en dan op sel A11 klikke, sil allinich de seleksje fan A11 wurde opnommen.
    • Selopmaak lykas fol- en lettertypekleur, ôfstimming, rânen, ensfh.
    • Getalopmaak lykas persintaazje, faluta, ensfh.
    • Formules en wearden bewurkje. Feroarings wurde opnomd neidat jo op Enter drukke.
    • Skrollje, ferpleatse Excel-finsters, oerskeakelje nei oare wurkblêden en wurkboeken.
    • Wurkblêden tafoegje, neame, ferpleatse en wiskje.
    • Meitsje, wurkboeken iepenje en opslaan.
    • Oare makro's útfiere.

    Wat kin net opnommen wurde

    Nettsjinsteande in protte ferskillende dingen dy't Excel kin opnimme, binne bepaalde funksjes bûten de mooglikheden fan de Macro Recorder:

    • Aanpassingen fan it Excel-lint en de arkbalke Quick Access.
    • Aksjes yn Excel-dialoochfinsters lykas Betingstlike opmaak of Sykje en ferfange (allinich it resultaat wurdt opnommen).
    • Ynteraksjes mei oare programma's. Jo kinne bygelyks kopiearje/plakken fan in Excel-wurkboek net opnimme yn in Word-dokumint.
    • Alles wêrby't de VBA-bewurker belutsen is. Dit stelt de wichtichste beheiningen op - in protte dingen dy't kinne wurde dien op it programmearringnivo kinne netwurde opnommen:
      • Oanpaste funksjes oanmeitsje
      • Oanpaste dialoochfinsters werjaan
      • Lussen meitsje lykas For Next , For Each , Do While , ensfh.
      • Betingsten evaluearje. Yn VBA kinne jo de IF Then Else statement brûke om in betingst te testen en wat koade út te fieren as de betingst wier is of in oare koade as de betingst falsk is.
      • Koade útfiere basearre op eveneminten . Mei VBA kinne jo in protte eveneminten brûke om in koade út te fieren dy't ferbûn is mei dat barren (lykas in wurkboek iepenje, in wurkblêd opnij berekkenje, seleksje feroarje, ensfh.).
      • Arguminten brûke. By it skriuwen fan in makro yn de VBA Editor, kinne jo leverje input arguminten foar in makro foar in útfiere in bepaalde taak. In opnommen makro kin gjin arguminten hawwe, om't it ûnôfhinklik is en net ferbûn is mei oare makro's.
      • Logika begripe. As jo ​​​​bygelyks in makro opnimme dy't spesifike sellen kopiearret, sizze yn 'e Totaal -rige, sil Excel allinich de adressen fan 'e kopieare sellen opnimme. Mei VBA kinne jo de logika kodearje, dus kopiearje de wearden yn 'e Totaal -rige.

    Hoewol't de boppesteande beheiningen in protte grinzen sette foar opnommen makro's, se binne noch altyd in goed útgongspunt. Sels as jo gjin idee hawwe fan 'e VBA-taal, kinne jo fluch in makro opnimme, en dan de koade analysearje.

    Nuttige tips foar it opnimmen fan makro's yn Excel

    Hjirûnder fine jo in pear tips en notysjes dat kin potinsjeel

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.