Kuidas salvestada makro Excelis

  • Jaga Seda
Michael Brown

Samm-sammult algajatele mõeldud õpetus makro salvestamiseks, vaatamiseks, käivitamiseks ja salvestamiseks. Saate ka teada mõned sisemised mehaanilised põhimõtted, kuidas makros Excelis töötavad.

Makrotoimingud on suurepärane viis korduvate ülesannete automatiseerimiseks Excelis. Kui leiate end tegemas samu asju ikka ja jälle, salvestage oma käigud makroina ja määrake sellele klaviatuurikombinatsioon. Ja nüüd saate kõik salvestatud toimingud automaatselt, ühe klahvivajutusega sooritada!

    Kuidas salvestada makro Excelis

    Nagu teisedki VBA tööriistad, asuvad Exceli makroprogrammid aadressil Arendaja vahekaart, mis on vaikimisi peidetud. Niisiis, kõigepealt peate lisama oma Exceli ribale vahekaardi Developer.

    Makro salvestamiseks Excelis tehke järgmised sammud:

    1. On Arendaja vahekaardil Kood rühma, klõpsake nuppu Salvesta makro nupp.

      Teise võimalusena klõpsake Salvesta makro nuppu vasakul pool Staatus baar:

      Kui eelistate töötada hiire asemel klaviatuuriga, vajutage järgmist klahvikombinatsiooni Alt , L , R (ükshaaval, mitte kõik klahvid korraga).

    2. In the Salvesta makro avanevas dialoogiboksis konfigureerige oma makro peamised parameetrid:
      • In the Makro nimi sisestage oma makro nimi. Püüdke see teha sisukaks ja kirjeldavaks, et hiljem saaksite makro kiiresti nimekirjast üles leida.

        Makrode nimedes võite kasutada tähti, numbreid ja allakriipsu; esimene täht peab olema täht. Vahekohad ei ole lubatud, seega peaksite kas hoidma nime ühesõnalisena, alustades iga osa suure tähega (nt. MyFirstMacro ) või eraldada sõnad allajoonega (nt. My_First_Macro ).

      • In the Pikaklahv kastis sisestage ükskõik milline täht, et määrata makrole klaviatuuri otsetee (valikuline).

        Lubatud on nii suur- kui ka väiketähed, kuid oleks mõistlik kasutada suurtähtede kombinatsioone ( Ctrl + Shift + täht ), sest makro lühikombinatsioonid tühistavad kõik Exceli vaikimisi otseteed, kui makrot sisaldav töövihik on avatud. Näiteks kui määrate makrole Ctrl + S, kaotate võimaluse Exceli failide salvestamiseks otsetee abil. Määrates Ctrl + Shift + S jääbstandardne salvestamise otsetee.

      • Alates Salvesta makro dokumendis rippmenüüst valige, kuhu soovite oma makrot salvestada:
        • Isiklik makrotööraamat - salvestab makro spetsiaalsesse töövihikusse nimega Isiklik.xlsb Kõik sellesse töövihikusse salvestatud makrotoimingud on saadaval alati, kui kasutate Excelit.
        • See töövihik (vaikimisi) - makro salvestatakse praegusesse töövihikusse ja on saadaval, kui avate töövihiku uuesti või jagate seda teiste kasutajatega.
        • Uus töövihik - loob uue töövihiku ja salvestab makro sellesse töövihikusse.
      • In the Kirjeldus lahtrisse kirjutage lühike kirjeldus selle kohta, mida teie makro teeb (valikuline).

        Kuigi see väli on valikuline, soovitan teil alati esitada lühikirjeldus. Kui te loote palju erinevaid makrosid, aitab see teil kiiresti aru saada, mida iga makro teeb.

      • Klõpsake OK et alustada makro salvestamist.

    3. Tehke toimingud, mida soovite automatiseerida (vt salvestusmakro näide).
    4. Kui olete lõpetanud, klõpsake nuppu Salvestamise peatamine nuppu Arendaja vahekaart:

      Või analoogset nuppu Staatus baar:

    Näide makro salvestamise kohta Excelis

    Et näha, kuidas see praktikas toimib, salvestame makro, mis rakendab valitud lahtritele mõningaid vorminguid. Selleks tehke järgmist:

    1. Valige üks või mitu lahtrit, mida soovite vormindada.
    2. On Arendaja vahekaart või Staatus riba, klõpsake Salvesta makro .
    3. In the Salvesta makro dialoogiaknas konfigureerige järgmised seaded:
      • Nimetage makro Header_Forming (sest me hakkame vormindama veergude päiseid).
      • Asetage kursor kohale Pikaklahv kasti ja vajutage samaaegselt klahve Shift + F. Sellega määratakse makrole Ctrl + Shift + F otsetee.
      • Valige makro salvestamine sellesse töövihikusse.
      • Sest Kirjeldus , kasutage järgmist teksti, mis selgitab, mida makro teeb: Muudab teksti paksuks, lisab täites värve ja tsentreerib teksti. .
      • Klõpsake OK et alustada salvestamist.

    4. Vormindage eelnevalt valitud lahtrid nii, nagu soovite. Selles näites kasutame rasvase teksti vormingut, helesinist täitevärvi ja keskele joondamist.

      Vihje. Ärge valige ühtegi lahtrit pärast makro salvestamise alustamist. See tagab, et kõik vormindused rakenduvad valik , mitte konkreetne vahemik.

    5. Klõpsake Salvestamise peatamine kas Arendaja vahekaart või Staatus baar.

    See ongi kõik! Teie makro on salvestatud. Nüüd saate valida mis tahes lehe mis tahes rakkude vahemiku, vajutada määratud otseteed ( Ctrl+ Shift + F ) ja teie kohandatud vormindus rakendub kohe valitud lahtritele.

    Kuidas töötada Excelis salvestatud makrotega

    Kõiki peamisi võimalusi, mida Excel pakub makrode jaoks, saab kasutada käsurea Makro dialoogiaken. Selle avamiseks klõpsake Makros nuppu Arendaja vahekaart või vajutage klahvikombinatsiooni Alt+ F8.

    Avanevas dialoogiboksis saate vaadata kõigis avatud töövihikutes või konkreetse töövihikuga seotud makrode loetelu ja kasutada järgmisi võimalusi:

    • Käivita - täidab valitud makro.
    • Astu sisse - võimaldab teil kõrvaldada ja testida makrot Visual Basic'i redaktoris.
    • Muuda - avab valitud makro VBA redaktoris, kus saate koodi vaadata ja redigeerida.
    • Kustuta - kustutab valitud makro lõplikult.
    • Valikud - võimaldab muuta makro omadusi, näiteks seotud Otsetee võti ja Kirjeldus .

    Kuidas vaadata makrosid Excelis

    Exceli makro koodi saab vaadata ja muuta Visual Basic'i redaktoris. Redaktori avamiseks vajutage Alt + F11 või klõpsake nuppu Visual Basic nuppu Arendaja vahekaart.

    Kui näete VB-redaktorit esimest korda, siis ärge tundke end heidutatuna ega hirmutatuna. Me ei hakka rääkima VBA keele struktuurist ega süntaksist. See osa annab teile lihtsalt mõningase põhilise arusaama sellest, kuidas Exceli makrod töötavad ja mida makro salvestamine tegelikult teeb.

    VBA redaktoril on mitu akent, kuid me keskendume kahele peamisele:

    Projekt Explorer - kuvab kõigi avatud töövihikute ja nende lehtede nimekirja. Lisaks näitab see mooduleid, kasutajavormide ja klassimooduleid.

    Koodiaken - siin saate vaadata, redigeerida ja kirjutada VBA-koodi iga projekti eksploraatoris kuvatava objekti jaoks.

    Kui me salvestasime näidismakro, toimusid backendis järgmised asjad:

    • Uus moodul ( Moduel1 ) sisestati.
    • Makro VBA-kood kirjutati aknas Kood.

    Konkreetse mooduli koodi vaatamiseks tehke topeltklõps moodulil ( Moodul1 meie puhul) Project Explorer aknas. Tavaliselt on makrokoodil need osad:

    Makro nimi

    VBAs algab iga makro algusega Sub millele järgneb makro nimi ja lõpeb sõnaga End Sub , kus "Sub" on lühend Allprogramm (nimetatakse ka Menetlus ). Meie näidismakro kannab nime Header_Formating() , nii et kood algab selle reaga:

    Sub Header_Formating()

    Kui soovite makro ümbernimetamine , siis kustutage lihtsalt praegune nimi ja kirjutage uus nimi otse koodiaknasse.

    Kommentaarid

    Ridu, mille ees on apostroof (') ja mis kuvatakse vaikimisi rohelisena, ei täideta. Need on teavitamise eesmärgil lisatud kommentaarid. Kommentaariread võib julgelt eemaldada, ilma et see mõjutaks koodi funktsionaalsust.

    Tavaliselt on salvestatud makros 1-3 kommentaaririda: makro nimi (kohustuslik); kirjeldus ja otsetee (kui see on määratud enne salvestamist).

    Käivitatav kood

    Pärast kommentaare järgneb kood, mis täidab salvestatud toiminguid. Mõnikord võib salvestatud makro sisaldada palju üleliigset koodi, mis võib siiski olla kasulik, et aru saada, kuidas VBAga asjad toimivad :)

    Allpool olev pilt näitab, mida meie makro koodi iga osa teeb:

    Kuidas käivitada salvestatud makrot

    Makro käivitamisega ütlete Excelile, et ta läheks tagasi salvestatud VBA-koodi juurde ja täidaks täpselt samu samu samu samme. Salvestatud makro käivitamiseks Excelis on mitu võimalust, millest siin on kõige kiiremad:

    • Kui olete määranud klaviatuurikombinatsioon makrole, vajutage seda otseteed.
    • Vajutage Alt + 8 või klõpsake Makros nuppu Arendaja vahekaardil. Makro dialoogiaknas, valige soovitud makro ja klõpsake Käivita .

    Salvestatud makro on võimalik käivitada ka oma nupule klõpsates. Siin on sammud selle tegemiseks: Kuidas luua makronuppu Excelis.

    Kuidas salvestada makrosid Excelis

    Olenemata sellest, kas salvestasite makro või kirjutasite VBA-koodi käsitsi, peate makro salvestamiseks salvestama töövihiku makrotoiminguna (.xlms laiendus). Järgnevalt on kirjeldatud, kuidas:

    1. Makrot sisaldavas töövihikus klõpsake nuppu Salvesta nuppu või vajutage Ctrl + S .
    2. In the Salvesta kui dialoogiaknas valige Exceli makrofunktsiooniga töövihik (*.xlsm) alates Salvesta tüübina rippmenüüst ja seejärel klõpsake Salvesta :

    Exceli makros: mis on ja mis ei ole salvestatud

    Nagu te just nägite, on makro salvestamine Excelis üsna lihtne. Kuid selleks, et luua tõhusaid makrosid, peate mõistma, mis toimub kulisside taga.

    Mis on salvestatud

    Exceli makroloendur salvestab üsna palju asju - peaaegu kõik hiireklikid ja klahvivajutused. Seega peaksite oma sammud hoolikalt läbi mõtlema, et vältida liigset koodi, mis võib põhjustada teie makro ootamatut käitumist. Allpool on toodud mõned näited sellest, mida Excel salvestab:

    • Lahtrite valimine hiire või klaviatuuri abil. Ainult viimane valik enne tegevust salvestatakse. Näiteks kui valite vahemiku A1:A10 ja seejärel klõpsate lahtril A11, salvestatakse ainult A11 valik.
    • Lahtrite vormindamine, näiteks täite- ja kirjavärv, joondus, piire jne.
    • Numbrite vormindamine, näiteks protsent, valuuta jne.
    • Valemite ja väärtuste redigeerimine. Muudatused salvestatakse pärast sisestusnupu vajutamist .
    • Sirvimine, Exceli akende liigutamine, üleminek teistele töölehtedele ja töövihikutele.
    • Töölehtede lisamine, nimetamine, teisaldamine ja kustutamine.
    • Töövihikute loomine, avamine ja salvestamine.
    • Teiste makrode käivitamine.

    Mida ei saa salvestada

    Vaatamata paljudele erinevatele asjadele, mida Excel saab salvestada, ületavad teatud funktsioonid makroloenduri võimalusi:

    • Exceli ribade ja kiirjuurdepääsu tööriistariba kohandamine.
    • Exceli dialoogides olevad toimingud, näiteks Tingimuslik vormindamine või Leia ja asenda (salvestatakse ainult tulemus).
    • Koostoimed teiste programmidega. Näiteks ei saa salvestada Exceli töövihikust kopeerimist/liitmist Wordi dokumenti.
    • Kõik, mis hõlmab VBA redaktorit. See seab kõige suuremad piirangud - paljusid asju, mida saab teha programmeerimise tasandil, ei saa salvestada:
      • Kohandatud funktsioonide loomine
      • Kohandatud dialoogibokside kuvamine
      • Selliste silmuste tegemine nagu Järgmiseks , Igaühele , Do While jne.
      • Tingimuste hindamine. VBAs saab kasutada funktsiooni IF Then Else lauset, et testida tingimust ja käivitada mingi kood, kui tingimus on tõene, või teine kood, kui tingimus on vale.
      • Sündmustel põhineva koodi täitmine. VBA abil saate kasutada paljusid sündmusi, et käivitada selle sündmusega seotud koodi (näiteks töövihiku avamine, töölehe ümberarvutamine, valiku muutmine jne).
      • Argumentide kasutamine. Makro kirjutamisel VBA redaktoris saate anda makrole sisendargumendid, et see täidaks teatud ülesannet. Salvestatud makro ei saa omada argumente, sest see on iseseisev ja ei ole seotud teiste makrodega.
      • Arusaadav loogika. Näiteks kui te salvestate makro, mis kopeerib teatud lahtrid, näiteks Kokku rida, salvestab Excel ainult kopeeritud lahtrite aadressid. VBA abil saab loogikat kodeerida, st kopeerida väärtused sisse Kokku rida.

    Kuigi eespool toodud piirangud seavad salvestatud makrode jaoks palju piire, on need siiski hea lähtepunkt. Isegi kui te ei tunne VBA keelt, saate kiiresti salvestada makro ja seejärel analüüsida selle koodi.

    Kasulikud näpunäited makrode salvestamiseks Excelis

    Allpool leiate mõned näpunäited ja märkused, mis võivad säästa palju aega ja närve, muutes teie õppimise sujuvamaks ja makrode tõhusamaks.

    Makro salvestamiseks suhteliste viidete kasutamine

    Vaikimisi kasutab Excel absoluutne viitamine makro salvestamiseks. See tähendab, et teie VBA-kood viitaks alati täpselt samadele valitud lahtritele, olenemata sellest, kus te makro käivitamisel töölehel olete.

    Siiski on võimalik muuta vaikimisi käitumist nii, et suhteline viitamine Sellisel juhul ei kodeeri VBA lahtri aadressi, vaid töötab suhteliselt aktiivse (hetkel valitud) lahtri suhtes.

    Makro salvestamiseks suhtelise viitamisega, klõpsake nuppu Kasutage Suhtelised viited nuppu Arendaja Kui soovite naasta absoluutse viitamise juurde, klõpsake nuppu uuesti, et lülitada see välja.

    Näiteks kui te salvestate tabeli vaikimisi absoluutse viitamisega, loob teie makro tabeli alati uuesti samas kohas (antud juhul, Pealkiri aastal A1, Punkt1 aastal A2, Punkt2 A3).

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

    Kui salvestate sama makro suhtelise viitamisega, luuakse tabel sinna, kuhu te kursori enne makro käivitamist asetasite ( Pealkiri aktiivses lahtris, Punkt1 allolevas lahtris jne).

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

    Märkused:

    • Kui kasutate suhtelisi viiteid, valige kindlasti algne lahter enne makro salvestamise alustamist.
    • Suhteline viitamine ei toimi kõige puhul. Mõned Exceli funktsioonid, nt vahemiku teisendamine tabeliks, nõuavad absoluutseid viiteid.

    Valige vahemikud klaviatuurikombinatsioonide abil

    Kui valite lahtri või rakkude vahemiku hiire või nooleklahvide abil, kirjutab Excel lahtri aadressid. Järelikult, kui te käivitate makro, tehakse salvestatud toimingud täpselt samade lahtritega. Kui te seda ei soovi, kasutage lahtrite ja vahemike valimiseks otseteed.

    Näitena salvestame makro, mis määrab allpool esitatud tabelis olevate kuupäevade jaoks konkreetse formaadi (d-mmm-yy):

    Selleks salvestate järgmised toimingud: vajutage Ctrl + 1, et avada Lahtrite vormindamine dialoog> kuupäev> valige vorming> OK. Kui teie salvestus sisaldab vahemiku valimist hiirega või nooleklahvidega, toodab Excel järgmise VBA-koodi:

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

    Ülaltoodud makro käivitamine valib iga kord vahemiku A2:B4. Kui lisate tabelisse veel ridu, ei töötle makro neid.

    Nüüd vaatame, mis juhtub, kui valite tabeli otsetee abil.

    Asetage kursor sihtvahemiku vasakusse ülemisse lahtrisse (antud näites A2), alustage salvestamist ja vajutage Ctrl + Shift + End . Tulemusena näeb koodi esimene rida välja selline:

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

    See kood valib kõik lahtrid alates aktiivsest lahtrist kuni viimase kasutatud lahtrini, mis tähendab, et kõik uued andmed lisatakse valikusse automaatselt.

    Teise võimalusena võite kasutada Ctrl + Shift + Nooled kombinatsioone:

    • Ctrl + Shift + Paremale noolt, et valida kõik kasutatud lahtrid paremale, millele järgneb
    • Ctrl + Shift + allapoole nool, et valida kõik kasutatud lahtrid alla.

    See tekitab ühe koodi asemel kaks rida, kuid tulemus on sama - kõik lahtrid, mille andmed on aktiivsest lahtrist allpool ja paremal, valitakse välja:

    Range(Selection, Selection. End (xlToRight)). Select Range(Selection, Selection. End (xlDown)). Select

    Salvestage makro valiku jaoks, mitte konkreetsete lahtrite jaoks

    Ülaltoodud meetod (st kõigi kasutatud lahtrite valimine alates aktiivsest lahtrist) töötab suurepäraselt samade toimingute tegemiseks kogu tabelis. Mõnes olukorras võib aga olla vajalik, et makro töötleks pigem teatud vahemikku kui kogu tabelit.

    Selleks pakub VBA Valik objekt, mis viitab hetkel valitud lahtri(te)le. Enamikku asju, mida saab teha vahemikuga, saab teha ka valikuga. Mis eelise annab see teile? Paljudel juhtudel ei pea te salvestamise ajal üldse midagi valima - kirjutage lihtsalt makro aktiivse lahtri jaoks. Ja siis valige mis tahes vahemik, käivitage makro ja see manipuleerib kogu valikut.

    Näiteks võib see ühe rea makro vormindada suvalise arvu valitud lahtreid protsentidena:

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

    Planeeri hoolikalt, mida sa salvestad

    Microsoft Exceli makroloendur salvestab peaaegu kogu teie tegevuse, sealhulgas ka teie tehtud ja parandatud vead. Näiteks kui vajutate Ctrl + Z, et midagi tühistada, salvestatakse ka see. Lõpuks võib tekkida palju ebavajalikku koodi. Selle vältimiseks võite kas muuta koodi VB-redaktoris või peatada salvestamise, kustutada puudulik makro ja alustada salvestamist uuesti.

    Varundage või salvestage töövihik enne makro käivitamist

    Exceli makrode tulemust ei saa tühistada. Seega on enne makro esimest käivitamist mõistlik luua töövihikust koopia või vähemalt salvestada oma praegune töö, et vältida ootamatuid muudatusi. Kui makro teeb midagi valesti, sulgege lihtsalt töövihik ilma salvestamata.

    Hoidke salvestatud makros lühikesed

    Erinevate ülesannete järjestuse automatiseerimisel võib tekkida kiusatus salvestada need kõik ühte makrosse. On kaks peamist põhjust, miks seda mitte teha. Esiteks, pikka makrot on raske sujuvalt ja vigadeta salvestada. Teiseks, suuri makrosid on raske mõista, testida ja siluda. Seetõttu on hea mõte jagada suur makro mitmeks osaks. Näiteks kokkuvõtva tabeli loomiselmitmest allikast, võite kasutada ühte makrot teabe importimiseks, teist andmete konsolideerimiseks ja kolmandat tabeli vormindamiseks.

    Ma loodan, et see õpetus andis teile ülevaate, kuidas salvestada makrot Excelis. Igatahes tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.