Nola grabatu makro bat Excel-en

  • Partekatu Hau
Michael Brown

Hasiberrientzako urratsez urrats makro bat grabatu, ikusi, exekutatu eta gordetzeko tutoriala. Makroek Excel-en funtzionatzen dutenaren barne-mekanika batzuk ere ikasiko dituzu.

Makroak Excel-en zeregin errepikakorrak automatizatzeko modu bikaina dira. Behin eta berriro gauza berdinak egiten aurkitzen bazara, grabatu zure mugimenduak makro gisa eta esleitu teklatuko lasterbide bat. Eta orain, grabatutako ekintza guztiak automatikoki egin ditzakezu, tekla sakatu bakarrarekin!

    Nola grabatu makro bat Excel-en

    Beste VBA tresnak bezala, Excel makroak Garatzailea fitxan bizi da, lehenespenez ezkutatuta dagoena. Beraz, egin behar duzun lehenengo gauza da Developer fitxa gehitzea zure Excel zintan.

    Makro bat Excel-en grabatzeko, egin urrats hauek:

    1. Garatzailea fitxan, Kodea taldean, egin klik Grabatu makroa botoian.

      Bestela, egin klik Grabatu. Egoera barraren ezkerraldeko makro botoia:

      Teklatuarekin lan egin nahiago baduzu saguarekin baino, sakatu hau tekla-sekuentzia Alt , L , R (banan-banan, ez tekla guztiak aldi berean).

    2. Agertzen den Grabatu makroa elkarrizketa-koadroan, konfiguratu zure makroaren parametro nagusiak:
      • Makroa name koadroan, idatzi makroaren izena. Saiatu esanguratsua eta deskribatzailea egiten, gerora zerrendan makroa azkar aurkitzeko gai izango zara.

        Sareandenbora eta nerbio asko aurrezten dituzu zure ikasketa kurba leunagoa eta makroak eraginkorragoak izan daitezen.

        Erabili erreferentzia erlatiboak makro grabaketarako

        Lehenespenez, Excel-ek absolutua <8 erabiltzen du>erreferentzia makro bat grabatzeko. Horrek esan nahi du zure VBA kodeak hautatu dituzun gelaxka berdinei erreferentzia egingo diela beti, makroa exekutatzen ari zarenean lan-orrian zauden tokian zaudela ere.

        Hala ere, posible da portaera lehenetsia ra aldatzea. erreferentzia erlatiboa . Kasu honetan, VBAk ez ditu zelula-helbideak gogor kodetuko, baina aktibo (une honetan hautatutako) gelaxkarekin nahiko funtzionatuko du.

        Makro bat erreferentzia erlatiboarekin grabatzeko, sakatu Erabili <8. Garatzailea fitxako>Erreferentzia erlatiboak botoia. Erreferentzia absolutuetara itzultzeko, egin klik berriro botoian hura desaktibatzeko.

        Adibidez, erreferentzia absolutu lehenetsiarekin taula bat konfiguratzea grabatzen baduzu, zure makroa beti izango da. birsortu taula leku berean (kasu honetan, Goiburua A1-en, Item1 A2-n, Item2 A3-n).

        Sub Absolute_Referencing() Barrutia( "A1" ). Hautatu ActiveCell.FormulaR1C1 = "Goiburua" barrutia( "A2" ). Hautatu ActiveCell.FormulaR1C1 = "Item1" Barrutia( "A3" ). Hautatu ActiveCell.FormulaR1C1 = "Item2" End Sub

        Makro bera erreferentzia erlatiboarekin grabatzen baduzu, taula sortuko da kurtsorea jartzen duzun tokian makroa exekutatu aurretik ( Goiburua gelaxka aktiboa, Item1 beheko gelaxkan, eta abar).

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

        Oharrak:

        • Erreferentzia erlatiboak erabiltzen dituzunean, ziurtatu hasierako gelaxka hautatzen duzula makro bat grabatzen hasi aurretik.
        • Erlatibozko erreferentziak ez du ezertarako balio. Excel ezaugarri batzuk, adibidez. barruti bat taula bihurtzeko, erreferentzia absolutuak behar dira.

        Hautatu barrutiak teklatuko lasterbideak erabiliz

        Sagua edo gezi-teklak erabiliz gelaxka bat edo gelaxka sorta bat hautatzen duzunean, Excel gelaxken helbideak idazten ditu. Ondorioz, makro bat exekutatzen duzun bakoitzean, grabatutako eragiketak zehazki gelaxka berdinetan egingo dira. Hau ez bada nahi duzuna, erabili lasterbideak gelaxkak eta barrutiak hautatzeko.

        Adibide gisa, graba dezagun beheko taulan daten formatu zehatz bat (d-mmm-yy) ezartzen duen makro bat:

        Horretarako, eragiketa hauek grabatzen dituzu: sakatu Ktrl + 1 Formatu gelaxkak elkarrizketa-koadroa irekitzeko > Data > aukeratu formatua > ADOS. Zure grabaketak barrutia saguarekin edo gezi-teklen bidez hautatzea barne hartzen badu, Excel-ek VBA kode hau sortuko du:

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

        Goiko makroa exekutatzeak A2:B4 barrutia hautatuko luke aldi bakoitzean. Zure taulan errenkada gehiago gehitzen badituzu, makroak ez ditu prozesatuko.

        Orain, ikus dezagun zer gertatzen den taula lasterbide baten bidez hautatzen duzunean.

        Jarri kurtsorea. xede-barrutiaren goiko ezkerreko gelaxkan (A2 adibide honetan), hasi grabatzen eta sakatu Ctrl + Shift + End . Ondorioz, kodearen lehen lerroak honela izango du:

        Barrutia(Hautapena, ActiveCell.SpecialCells(xlLastCell)). Hautatu

        Kode honek gelaxka aktibotik erabilitako azken gelaxkara gelaxka guztiak hautatzen ditu, hau da, datu berri guztiak automatikoki sartuko dira hautapenean.

        Bestela, Ctrl + Shift + Geziak konbinazioak erabil ditzakezu:

        • Ktrl + Maius + Eskuineko gezia erabilitako gelaxka guztiak eskuinera hautatzeko, eta ondoren
        • Ktrl + Maius + Behera gezia erabilitako gelaxka guztiak behera hautatzeko.

        Honek bi kode-lerro sortuko ditu bakarraren ordez, baina emaitza berdina izango da - behean eta aktibo gelaxkaren eskuinaldean dauden gelaxka guztiak hautatuko dira:

        Barrutia (Hautapena, Hautaketa. Amaiera ( xlEskuinera)). Hautatu Barrutia (Hautapena, Hautaketa. Amaiera (xlBehera)). Hautatu

        Grabatu makro bat hautapenerako gelaxka zehatzak baino

        Goiko metodoak (hau da, gelaxka aktibotik hasita erabilitako gelaxka guztiak hautatzea) oso ondo funtzionatzen du taula osoan eragiketa berdinak egiteko. Batzuetanegoeretan, hala ere, baliteke makroak barruti jakin bat prozesatzea eta ez taula osoa.

        Horretarako, VBAk une honetan hautatutako gelaxka(k) aipatzen duen Hautapena objektua eskaintzen du. . Barruti batekin egin daitezkeen gauza gehienak hautapenarekin ere egin daitezke. Zer abantaila ematen dizu? Kasu askotan, ez duzu ezer hautatu behar grabatzen ari zaren bitartean; besterik gabe, idatzi makro bat gelaxka aktiborako. Eta gero, hautatu nahi duzun edozein barruti, exekutatu makroa eta hautapen osoa manipulatuko du.

        Adibidez, lerro bakarreko makro honek aukeratutako edozein gelaxka ehunekotan formateatu dezake:

        Sub Percent_Format () Selection.NumberFormat = "%0,00" End Sub

        Planifikatu arretaz grabatzen duzuna

        Microsoft Excel Macro Recorder-ek zure jarduera ia guztia jasotzen du, egiten dituzun akatsak eta zuzentzen dituzun barne. Adibidez, zerbait desegiteko Ctrl + Z sakatzen baduzu, hori ere grabatuko da. Azkenean, baliteke beharrezkoa ez den kode askorekin amaitzea. Hori ekiditeko, editatu kodea VB Editor-en edo gelditu grabatzea, ezabatu makro akats bat eta hasi berriro grabatzen.

        Egin babeskopiak edo gorde lan-liburua makro bat exekutatu aurretik

        Excel-en emaitza. makroak ezin dira desegin. Beraz, makro baten lehen exekuzioa baino lehen, zentzuzkoa da lan-liburuaren kopia bat sortzea edo gutxienez zure uneko lana gordetzea ustekabeko aldaketak saihesteko. Makroak zerbait gaizki egiten badu,besterik gabe itxi lan-liburua gorde gabe.

        Egin labur grabatutako makroak

        Zeregin ezberdinen sekuentzia automatizatzean, baliteke horiek guztiak makro bakar batean grabatzeko tentazioa izatea. Bi arrazoi nagusi daude hori ez egiteko. Lehenik eta behin, zaila da makro luze bat leunki grabatzea akatsik gabe. Bigarrenik, makro handiak zailak dira ulertzea, probatzea eta araztea. Horregatik, ideia ona da makro handi bat hainbat zatitan banatzea. Esaterako, iturri anitzetatik laburpen-taula bat sortzean, makro bat erabil dezakezu informazioa inportatzeko, beste bat datuak finkatzeko eta hirugarren bat taula formateatzeko.

        Espero dut tutorial honek argibide batzuk eman izana. Excel-en makro bat nola grabatu. Dena den, eskertzen dizut irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!

        makro-izenak, letrak, zenbakiak eta azpimarra erabil ditzakezu; lehenengo karaktereak letra bat izan behar du. Zuriuneak ez dira onartzen, beraz, hitz bakarreko izena mantendu behar duzu, zati bakoitza letra larriz hasita (adibidez, NireLehen makroa ) edo hitzak bereizi azpimarrarekin (adibidez, Nire_Lehen_makroa ).
      • Laster-tekla koadroan, idatzi edozein letra teklatuko lasterbidea makroari esleitzeko (aukerakoa).

        Maiuskulak zein minuskulak onartzen dira, baina komeni da maiuskulak tekla-konbinazioak erabiltzea (Ktrl + Shift + letra), makro-lasterbideek Excel-eko lasterbide lehenetsiak gainidazten dituztelako makroa duen lan-liburua irekita dagoen bitartean. Adibidez, Ctrl + S makro bati esleitzen badiozu, zure Excel fitxategiak lasterbide batekin gordetzeko gaitasuna galduko duzu. Ctrl + Shift + S esleituz gero, gordetzeko lasterbide estandarra mantenduko da.

      • Gorde makroa goitibeherako zerrendan, aukeratu non gorde nahi duzun makroa:
        • Personal Makro Workbook - makroa Personal.xlsb izeneko lan-liburu berezi batean gordetzen du. Lan-koaderno honetan gordetako makro guztiak eskuragarri daude Excel erabiltzen duzun bakoitzean.
        • Lan-koaderno hau (lehenetsia) - makroa uneko lan-liburuan gordeko da eta erabilgarri egongo da lan-liburua berriro irekitzen duzunean. edo partekatu beste erabiltzaile batzuekin.
        • Lan-koaderno berria : lan-liburu berri bat sortzen du eta makroa lan-liburu horretan grabatzen du.
      • En Deskribapena koadroan, idatzi makroak egiten duenaren deskribapen laburra (aukerakoa).

        Eremu hau hautazkoa den arren, beti deskribapen labur bat ematea gomendatzen dizut. Makro ezberdin asko sortzen dituzunean, makro bakoitzak zer egiten duen azkar ulertzen lagunduko dizu.

      • Sakatu Ados makroa grabatzen hasteko.

    3. Egin nahi dituzun ekintzak. automatizatzeko (mesedez, ikusi grabaketa makro-adibidea).
    4. Amaitu duzunean, egin klik Geditu grabaketa botoian Garatzailea fitxan:

      Edo Egoera barrako botoi analogikoa:

    Excel-en makro bat grabatzeko adibidea

    Praktikan nola funtzionatzen duen ikusteko, grabatu dezagun hautatutako gelaxketan formatu batzuk aplikatzen dituen makro bat. Horretarako, egin hau:

    1. Hautatu formateatu nahi dituzun gelaxka bat edo gehiago.
    2. Garatzailea fitxan edo Egoera barran, egin klik Grabatu makroa .
    3. Grabatu makroa elkarrizketa-koadroan, konfiguratu ezarpen hauek:
      • Izena eman makroari Header_Formatting (zutabe-goiburuak formateatzen joango garelako).
      • Jarri kurtsorea Laster-tekla koadroan, eta sakatu Shift + F teklak aldi berean. Honek Ctrl + Shift + F lasterbidea esleituko dio makroari.
      • Aukeratu makroa lan-koaderno honetan gordetzea.
      • Deskribapena egiteko, erabili hurrengo testua zer den azalduz. makroak egiten du: Testua lodia jartzen du, betetzeko kolorea eta erdiguneak gehitzen ditu .
      • Sakatu Ados grabatzen hasteko.

    4. Formatu aurrez hautatutako gelaxkak nahi duzun moduan. Adibide honetarako, testu-formatua lodia, urdin argia betetzeko kolorea eta erdiko lerrokatzea erabiltzen ditugu.

      Aholkua. Ez hautatu gelaxkarik makroa grabatzen hasi ondoren. Honek formateatu guztiak hautapena ri aplikatzen zaizkiola ziurtatuko du, ez barruti zehatz bati.

    5. Sakatu Utzi grabatzea Garatzailea fitxan edo Egoera barran.

    Hori da! Zure makroa grabatu da. Orain, edozein orritako edozein gelaxka hauta dezakezu, sakatu esleitutako lasterbidea ( Ctrl + Shift + F ) eta zure formatu pertsonalizatua berehala aplikatuko da hautatutako gelaxketan.

    Nola lan egin Excel-en grabatutako makroekin

    Excelek makroetarako eskaintzen dituen aukera nagusi guztiak Makro elkarrizketa-koadroaren bidez atzi daitezke. Irekitzeko, egin klik Makroak botoian Garatzailea fitxan edo sakatu Alt+F8 lasterbidea.

    Elkarrizketa-koadroan irekitzen den, irekitako lan-liburu guztietan edo lan-liburu jakin batekin lotutako makroen zerrenda ikus dezakezu eta aukera hauek erabil ditzakezu:

    • Exekutatu - hautatutako makroa exekutatzen du. .
    • Step into - Makroa arazketa eta probatzeko aukera ematen dizu Visual Basic Editor-en.
    • Editatu - hautatutako makroa irekitzen du.VBA editorea, non kodea ikusi eta editatu dezakezun.
    • Ezabatu - behin betiko ezabatzen du hautatutako makroa.
    • Aukerak - aldatzeko aukera ematen du. makroaren propietateak, hala nola, lotutako Lasterbidea tekla eta Deskribapena .

    Nola ikusi makroak Excel-en

    Excel-eko makro baten kodea Visual Basic Editor-en ikusi eta alda daiteke. Editorea irekitzeko, sakatu Alt + F11 edo egin klik Visual Basic botoian Garatzailea fitxan.

    Ikusten baduzu VB Editoreak lehen aldiz, mesedez, ez zaitez desanimatu edo beldurtu. Ez gara VBA hizkuntzaren egituraz edo sintaxiaz hitz egingo. Atal honek Excel-eko makroek nola funtzionatzen duten eta makro bat grabatzeak benetan zer egiten duen ulertzeko oinarrizko batzuk emango dizkizu.

    VBA Editoreak hainbat leiho ditu, baina bi nagusietan zentratuko gara:

    Project Explorer - irekita dauden lan-liburu guztien zerrenda eta haien orrien zerrenda bistaratzen du. Horrez gain, moduluak, erabiltzaile-inprimakiak eta klase-moduluak erakusten ditu.

    Kode-leihoa - non ikusi, editatu eta idatzi dezakezu VBA kodea Proiektuaren arakatzailean bistaratzen den objektu bakoitzarentzat.

    Lagin-makroa grabatu genuenean, honako gauza hauek gertatu ziren backend-ean:

    • Modulu berri bat ( Modulu1 ) txertatuta.
    • Makroaren VBA kodea Kode leihoan idatzi da.

    Berariazko baten kodea ikusteko.modulua, egin klik bikoitza moduluan ( Module1 gure kasuan) Project Explorer leihoan. Normalean, makro-kode batek zati hauek ditu:

    Makro-izena

    VBAn, edozein makro Sub -rekin hasten da eta ondoren makro-izenaz eta End Sub-ekin amaitzen da. , non "Sub" Azpirrutina izendatzeko laburra den ( Prozedura ere deitzen zaio). Gure laginaren makroa Header_Formatting() izena du, beraz, kodea lerro honekin hasten da:

    Sub Header_Formatting()

    makroari izena aldatu nahi baduzu, ezabatu besterik ez duzu. uneko izena eta idatzi berri bat zuzenean Kode leihoan.

    Iruzkinak

    Apostrofoa (') aurretik jarritako lerroak eta lehenespenez berdez bistaratzen diren lerroak ez dira exekutatzen. Hauek informazio-helburuetarako gehitutako iruzkinak dira. Iruzkin-lerroak segurtasunez kendu daitezke kodearen funtzionaltasunari eragin gabe.

    Normalean, grabatutako makro batek 1 - 3 iruzkin lerro ditu: makroaren izena (derrigorrezkoa); deskribapena eta lasterbidea (grabatu aurretik zehaztuz gero).

    Kode exekutagarria

    Iruzkinen ondoren, grabatutako ekintzak exekutatzen dituen kodea dator. Batzuetan, grabatutako makro batek alferrikako kode asko izan dezake, eta hori ere erabilgarria izan daiteke VBArekin gauzak nola funtzionatzen duten jakiteko :)

    Beheko irudiak gure makroaren kodearen zati bakoitzak zer egiten duen erakusten du:

    Nola exekutatu grabatutako makro bat

    Makro bat exekutatzean, Excel-i esaten diozu grabatutako VBA kodeara itzultzeko eta exekutatzeko.urrats berdinak. Grabatutako makro bat Excel-en exekutatzeko modu batzuk daude, eta hona hemen azkarrenak:

    • Makroari teklatuko lasterbidea esleitu badiozu, sakatu lasterbide hori .
    • Sakatu Alt + 8 edo egin klik Makroak botoian Garatzailea fitxan. Makroa elkarrizketa-koadroan, hautatu nahi duzun makroa eta sakatu Exekutatu .

    Exekutatu ere egin daiteke. grabatutako makro bat zure botoian klik eginez. Hona hemen bat egiteko pausoak: Nola sortu makro-botoia Excel-en.

    Nola gorde makroak Excel-en

    Makro bat grabatu edo VBA kodea eskuz idatzi duzun ala ez, makroa gordetzeko , lan-liburua makro gaituta (.xlms luzapena) gisa gorde behar duzu. Hona hemen nola:

    1. Makroa duen lan-koadernoan, egin klik Gorde botoian edo sakatu Ktrl + S .
    2. Gorde honela<2 aukeran> elkarrizketa-koadroan, aukeratu Excel Macro-Enabled Workbook (*.xlsm) goitibeherako zerrendan Gorde mota gisa , eta sakatu Gorde :

    Excel makroak: zer den eta zer ez grabatzen

    Ikusi berri duzunez, nahiko erraza da makro bat Excel-en grabatzea. Baina makro eraginkorrak sortzeko, eszenaren atzean zer gertatzen den ulertu behar duzu.

    Grabatzen dena

    Excel-en Makro Grabagailuak gauza asko harrapatzen ditu: ia saguaren klik eta tekla sakatu guztiak. Beraz, zure urratsak arretaz pentsatu beharko zenuke gehiegizko kodea ekiditekozure makroaren ustekabeko portaera izango da. Hona hemen Excel-ek erregistratzen dituenaren adibide batzuk:

    • Sagua edo teklatuarekin gelaxkak hautatzea. Ekintza baten aurreko azken aukeraketa bakarrik grabatu da. Esate baterako, A1:A10 barrutia hautatzen baduzu eta, ondoren, A11 gelaxka sakatzen baduzu, A11-ren hautaketa soilik grabatuko da.
    • Geula formatua, esate baterako, betegarri eta letra-tipoaren kolorea, lerrokatzea, ertzak, etab.
    • Zenbakien formatua, esate baterako, ehunekoa, moneta, etab.
    • Formulak eta balioak editatzea. Aldaketak Sartu sakatu ondoren erregistratzen dira.
    • Corretzea, Excel leihoak mugitzea, beste lan-orrietara eta lan-liburuetara aldatzea.
    • Lan-orriak gehitzea, izendatzea, mugitzea eta ezabatzea.
    • Sortzea, lan-liburuak ireki eta gordetzea.
    • Beste makro batzuk exekutatzen.

    Grabatu ezin dena

    Excelek graba ditzakeen hainbat gauza izan arren, zenbait ezaugarriren gaitasunetatik kanpo daude. Makro-grabagailua:

    • Excel zintaren eta Sarbide Azkarreko tresna-barraren pertsonalizazioak.
    • Excel-eko elkarrizketa-koadroen barruko ekintzak, hala nola Formatu baldintzatua edo Bilatu eta Ordeztu. (emaitza soilik grabatzen da).
    • Beste programa batzuekin elkarrekintzak. Adibidez, ezin duzu Excel lan-liburutik Word dokumentu batean kopiatu/itsatsi grabatu.
    • VBA Editorea inplikatzen duen edozer. Horrek ezartzen ditu mugarik esanguratsuenak - programazio mailan egin daitezkeen gauza asko ezin diragrabatu:
      • Funtzio pertsonalizatuak sortzea
      • Elkarrizketa-koadro pertsonalizatuak bistaratzea
      • Esaterako begiztak egitea Hurrengorako , Bakoitzeko , Egin bitartean , etab.
      • Baldintzak ebaluatzea. VBAn, IF Then Else adierazpena erabil dezakezu baldintza bat probatzeko eta koderen bat exekutatu baldintza egiazkoa bada edo beste kode bat baldintza faltsua bada.
      • Kodea exekutatzen gertakarietan oinarrituta. . VBA-rekin, gertaera asko erabil ditzakezu gertaera horrekin lotutako kodea exekutatzeko (adibidez, lan-liburu bat irekitzea, lan-orri bat berriro kalkulatzea, hautapena aldatzea, etab).
      • Argumentuak erabiltzea. VBA editorean makro bat idaztean, sarrerako argumentuak eman ditzakezu makro bati zeregin jakin bat egiteko. Grabatutako makro batek ezin du inolako argumenturik izan independentea delako eta ez dagoelako beste makro batekin konektatuta.
      • Logika ulertzea. Adibidez, gelaxka zehatzak kopiatzen dituen makro bat grabatzen baduzu, esate baterako, Guztira errenkadan, Excel-ek kopiatutako gelaxken helbideak soilik grabatuko ditu. VBA-rekin, logika kodetu dezakezu, hau da, Guztira errenkadako balioak kopiatu.

    Goiko mugek grabatutako makroentzako muga asko ezartzen dituzten arren, abiapuntu ona dira oraindik. VBA hizkuntzaren ideiarik ez baduzu ere, makro bat azkar graba dezakezu eta, ondoren, bere kodea azter dezakezu.

    Aholku erabilgarriak makroak Excel-en grabatzeko

    Jarraian aholku batzuk aurkituko dituzu. eta potentzialki daitekeen oharrak

    Michael Brown teknologia-zale dedikatua da, software-tresnak erabiliz prozesu konplexuak sinplifikatzeko grina duena. Hamarkada bat baino gehiagoko esperientzia duen teknologia-industrian, Microsoft Excel eta Outlook-en eta Google Sheets eta Docs-en trebetasunak landu ditu. Michael-en bloga bere ezagutzak eta esperientziak besteekin partekatzera zuzenduta dago, produktibitatea eta eraginkortasuna hobetzeko aholku eta tutorial errazak eskaintzen ditu. Profesional ondua edo hasiberria izan, Michael-en blogak informazio baliotsuak eta aholku praktikoak eskaintzen ditu funtsezko software-tresna horiei etekinik handiena ateratzeko.