Kazalo
Korak za korakom za začetnike za snemanje, pregledovanje, zagon in shranjevanje makrov. Spoznali boste tudi nekaj notranjih mehanizmov delovanja makrov v Excelu.
Makroji so odličen način za avtomatizacijo ponavljajočih se opravil v Excelu. Če vedno znova počnete iste stvari, svoje poteze zabeležite kot makro in mu dodelite bližnjico na tipkovnici. Zdaj lahko vsa zabeležena dejanja izvedete samodejno z enim samim pritiskom na tipko!
Kako posneti makro v Excelu
Tako kot druga orodja VBA se tudi Excelovi makri nahajajo v Razvijalec ki je privzeto skrit. Zato morate najprej dodati zavihek Razvijalec na Excelov trak.
Če želite zapisati makro v Excelu, naredite naslednje korake:
- Na Razvijalec v zavihku Koda kliknite skupino Makro zapisa gumb.
Lahko tudi kliknete Makro zapisa gumb na levi strani Status bar:
Če raje delate s tipkovnico kot z miško, pritisnite naslednje zaporedje tipk Alt , L , R (eno za drugo, ne vseh naenkrat).
- V Makro zapisa v pogovornem oknu, ki se prikaže, konfigurirajte glavne parametre svojega makra:
- V Makro ime vnesite ime za svoj makro. Poskusite ga oblikovati smiselno in opisno, da ga boste pozneje lahko hitro našli na seznamu.
V imenih makrov lahko uporabljate črke, številke in podčrtanke; prvi znak mora biti črka. Presledki niso dovoljeni, zato naj bo ime enobesedno, vsak del pa naj se začne z veliko črko (npr. MyFirstMacro ) ali ločite besede s podčrtaji (npr. My_First_Macro ).
- V Bližnjice vnesite poljubno črko, da makru dodelite bližnjico na tipkovnici (neobvezno).
Dovoljene so velike in male črke, vendar bi bilo pametno uporabljati kombinacije velikih črk ( Ctrl + Shift + črka ), saj makro bližnjice razveljavijo vse privzete bližnjice programa Excel, ko je delovni zvezek, ki vsebuje makro, odprt. Če na primer makru dodelite Ctrl + S, boste izgubili možnost shranjevanja datotek Excel z bližnjico. Če dodelite Ctrl + Shift + S, boste ohranili možnoststandardna bližnjica za shranjevanje.
- Od Shranjevanje makra v v spustnem seznamu izberite, kam želite shraniti makro:
- Delovni zvezek osebnih makrov - shrani makro v poseben delovni zvezek z imenom Personal.xlsb Vsi makri, shranjeni v tem delovnem zvezku, so na voljo vedno, ko uporabljate Excel.
- Ta delovni zvezek (privzeto) - makro bo shranjen v trenutnem delovnem zvezku in bo na voljo ob ponovnem odprtju delovnega zvezka ali deljenju z drugimi uporabniki.
- Novi delovni zvezek - ustvari nov delovni zvezek in vanj zapiše makro.
- V Opis vnesite kratek opis, kaj vaš makro počne (neobvezno).
Čeprav je to polje neobvezno, priporočam, da vedno navedete kratek opis. Ko ustvarite veliko različnih makrov, vam bo to pomagalo hitro razumeti, kaj posamezni makri počnejo.
- Kliknite . V REDU da začnete snemati makro.
- V Makro ime vnesite ime za svoj makro. Poskusite ga oblikovati smiselno in opisno, da ga boste pozneje lahko hitro našli na seznamu.
- Izvedite dejanja, ki jih želite avtomatizirati (glejte primer snemalnega makra).
- Ko končate, kliknite Ustavitev snemanja gumb na Razvijalec zavihek:
Ali podoben gumb na zaslonu Status bar:
Primer snemanja makra v Excelu
Da bi videli, kako deluje v praksi, posnemimo makro, ki v izbranih celicah uporabi nekaj oblikovanja. V ta namen naredite naslednje:
- Izberite eno ali več celic, ki jih želite oblikovati.
- Na Razvijalec zavihek ali Status v vrstici kliknite Makro zapisa .
- V Makro zapisa v pogovornem oknu konfigurirajte naslednje nastavitve:
- Poimenujte makro Header_Formatting (ker bomo oblikovali glave stolpcev).
- Postavite kazalec v polje Bližnjice in hkrati pritisnite tipki Shift + F. S tem boste makru dodelili bližnjico Ctrl + Shift + F.
- Izberite, ali želite makro shraniti v tem delovnem zvezku.
- Za Opis , uporabite naslednje besedilo, v katerem je razloženo, kaj makro počne: Besedilo postane krepko, doda barvo polnila in ga osredotoči. .
- Kliknite . V REDU za začetek snemanja.
- Predhodno izbrane celice oblikujte na želeni način. V tem primeru uporabimo krepko oblikovanje besedila, svetlo modro barvo polnila in sredinsko poravnavo.
Nasvet. Po začetku snemanja makra ne izberite nobene celice. S tem boste zagotovili, da se vse oblikovne nastavitve prikažejo v izbor , ne pa posebnega razpona.
- Kliknite . Ustavitev snemanja na Razvijalec ali zavihek Status bar.
Vaš makro je zabeležen. Zdaj lahko izberete poljuben obseg celic v katerem koli listu, pritisnete dodeljeno bližnjico ( Ctrl + Shift + F ) in vaše oblikovanje po meri se bo takoj uporabilo v izbranih celicah.
Kako delati s posnetimi makri v Excelu
Do vseh glavnih možnosti, ki jih Excel ponuja za makre, lahko dostopate prek Makro Če ga želite odpreti, kliknite pogovorno okno Makroji gumb na Razvijalec ali pritisnite bližnjico Alt+F8.
V pogovornem oknu, ki se odpre, si lahko ogledate seznam makrov, ki so na voljo v vseh odprtih delovnih zvezkih ali so povezani z določenim delovnim zvezkom, in uporabite naslednje možnosti:
- Spustite - izvede izbrani makro.
- Vstopite v - omogoča odpravljanje napak in preizkušanje makra v urejevalniku Visual Basic.
- Uredi - odpre izbrani makro v urejevalniku VBA, kjer si lahko ogledate in urejate kodo.
- Izbriši - trajno izbriše izbrani makro.
- Možnosti - omogoča spreminjanje lastnosti makra, kot je povezana Bližnjice ključ in . Opis .
Kako prikazati makre v Excelu
Kodo makro programa Excel lahko pregledujete in spreminjate v urejevalniku Visual Basic. Če želite odpreti urejevalnik, pritisnite kombinacijo tipk Alt + F11 ali kliknite Visual Basic gumb na Razvijalec zavihek.
Če prvič vidite urejevalnik VB, se ne počutite nejevoljno ali prestrašeno. Ne bomo govorili o strukturi ali sintaksi jezika VBA. V tem razdelku boste le dobili osnovno razumevanje delovanja Excelovih makrov in tega, kaj snemanje makrov dejansko počne.
Urejevalnik VBA ima več oken, vendar se bomo osredotočili na dve glavni:
Raziskovalec projekta - prikaže seznam vseh odprtih delovnih zvezkov in njihovih listov. Poleg tega prikaže module, uporabniške obrazce in module razredov.
Okno kode - tukaj lahko pregledujete, urejate in pišete kodo VBA za vsak predmet, ki je prikazan v Raziskovalcu projekta.
Ko smo posneli vzorec makra, so se v zaledju zgodile naslednje stvari:
- Nov modul ( Moduel1 ) je bil vstavljen.
- Koda VBA za makro je bila zapisana v oknu Koda.
Če si želite ogledati kodo določenega modula, dvakrat kliknite modul ( Modul1 v našem primeru) v oknu Raziskovalca projekta. Običajno ima makro koda te dele:
Ime makra
V VBA se vsak makro začne z Pod ki mu sledi ime makra in se konča z Končni podnaslov , pri čemer je "Sub" kratica za Podprogram (imenovan tudi Postopek ). Naš vzorčni makro se imenuje Oblikovanje_naslova() , zato se koda začne s to vrstico:
Sub Header_Formatting()Če želite preimenovanje makra , preprosto izbrišite trenutno ime in vnesite novo ime neposredno v okno Koda.
Komentarji
Vrstice s predpono apostrof ('), ki so privzeto prikazane v zeleni barvi, se ne izvajajo. To so komentarji, dodani v informativne namene. Vrstice s komentarji lahko varno odstranite, ne da bi to vplivalo na delovanje kode.
Posneti makro ima običajno od 1 do 3 vrstice s komentarji: ime makra (obvezno); opis in bližnjica (če je bila določena pred snemanjem).
Izvedljiva koda
Po komentarjih sledi koda, ki izvede zabeležena dejanja. Včasih ima lahko zabeležen makro veliko nepotrebne kode, ki pa je lahko še vedno koristna za ugotavljanje, kako stvari delujejo z VBA :)
Spodnja slika prikazuje, kaj počne vsak del kode našega makra:
Kako zagnati posneti makro
Z zagonom makra Excelu poveste, naj se vrne k zapisani kodi VBA in izvede popolnoma enake korake. V Excelu lahko zaženete zapisan makro na več načinov, tukaj so predstavljeni najhitrejši:
- Če ste dodelili bližnjica na tipkovnici na makro, pritisnite to bližnjico.
- Pritisnite Alt + 8 ali kliknite Makroji gumb na Razvijalec zavihek. V zavihku Makro pogovorno okno, izberite želeni makro in kliknite Spustite .
Posneti makro lahko zaženete tudi tako, da kliknete svoj gumb. Tukaj so opisani koraki za izdelavo takega gumba: Kako ustvariti makro gumb v Excelu.
Kako shraniti makre v Excelu
Ne glede na to, ali ste posneli makro ali ročno napisali kodo VBA, morate delovni zvezek shraniti kot omogočen makro (končnica .xlms):
- V delovnem zvezku, ki vsebuje makro, kliknite Shrani ali pritisnite Ctrl + S .
- V Shrani kot pogovorno okno, izberite Excelov delovni zvezek z makri (*.xlsm) iz Shrani kot vrsto spustni seznam, nato pa kliknite Shrani :
Excelovi makri: kaj je in kaj ni zapisano
Kot ste pravkar videli, je snemanje makrov v Excelu precej enostavno. Vendar morate za ustvarjanje učinkovitih makrov razumeti, kaj se dogaja v ozadju.
Kaj je zabeleženo
Excelov zapisovalnik makrov zajema precej stvari - skoraj vse klike miške in pritiske tipk. Zato morate dobro premisliti svoje korake, da se izognete odvečni kodi, ki bi lahko povzročila nepričakovano obnašanje vašega makra. Spodaj je nekaj primerov, kaj Excel zapiše:
- Izbira celic z miško ali tipkovnico: zabeleži se samo zadnja izbira pred dejanjem. Če na primer izberete območje A1:A10 in nato kliknete celico A11, se zabeleži samo izbira celice A11.
- oblikovanje celic, kot so barva polnila in pisave, poravnava, meje itd.
- oblikovanje številk, kot so odstotki, valuta itd.
- Urejanje formul in vrednosti. Spremembe se zabeležijo, ko pritisnete Enter .
- Pomikanje, premikanje oken programa Excel, preklapljanje na druge delovne liste in delovne zvezke.
- Dodajanje, poimenovanje, premikanje in brisanje delovnih listov.
- Ustvarjanje, odpiranje in shranjevanje delovnih zvezkov.
- Zagon drugih makrov.
Česa ni mogoče posneti
Kljub številnim različnim stvarem, ki jih lahko Excel beleži, nekatere funkcije presegajo zmogljivosti programa Macro Recorder:
- Prilagoditve traku programa Excel in orodne vrstice za hitri dostop.
- dejanja znotraj pogovornih oken programa Excel, kot so Pogojno oblikovanje ali Poišči in zamenjaj (zabeleži se le rezultat).
- Medsebojno delovanje z drugimi programi. Na primer, kopiranja/pripenjanja iz Excelove delovne knjižice v Wordov dokument ne morete zabeležiti.
- Vse, kar vključuje urejevalnik VBA. To pomeni največje omejitve - veliko stvari, ki jih je mogoče opraviti na programski ravni, ni mogoče zabeležiti:
- Ustvarjanje funkcij po meri
- Prikaz pogovornih oken po meri
- Izdelava zank, kot so Za naslednji , Za vsako , Naredite, medtem ko , itd.
- Vrednotenje pogojev. V V VBA lahko uporabite Če potem ali pa za preverjanje pogoja in zagon kode, če je pogoj resničen, ali druge kode, če je pogoj napačen.
- Izvajanje kode na podlagi dogodkov. Z VBA lahko uporabite številne dogodke za izvajanje kode, povezane s tem dogodkom (na primer odpiranje delovnega zvezka, preračunavanje delovnega lista, spreminjanje izbire in tako naprej).
- Uporaba argumentov. Ko pišete makro v urejevalniku VBA, lahko navedete vhodne argumente, da makro opravi določeno nalogo. Zapisan makro ne more imeti nobenih argumentov, saj je samostojen in ni povezan z drugimi makri.
- Če na primer posnamete makro, ki kopira določene celice, na primer v Skupaj Excel bo zabeležil le naslove kopiranih celic. Z VBA lahko kodirate logiko, tj. kopirate vrednosti v vrsticah. Skupaj vrstica.
Čeprav zgornje omejitve določajo številne meje za posnete makre, so še vedno dobro izhodišče. Tudi če nimate pojma o jeziku VBA, lahko hitro posnamete makro in nato analizirate njegovo kodo.
Koristni nasveti za snemanje makrov v Excelu
V nadaljevanju boste našli nekaj nasvetov in opomb, ki vam lahko prihranijo veliko časa in živcev, da bo vaše učenje lažje, makri pa učinkovitejši.
Uporaba relativnih referenc za snemanje makrov
Excel privzeto uporablja absolutno sklicevanje na To pomeni, da se bo vaša koda VBA vedno nanašala na iste celice, ki ste jih izbrali, ne glede na to, kje v delovnem listu se nahajate med izvajanjem makra.
Vendar je mogoče spremeniti privzeto vedenje na relativno sklicevanje V tem primeru VBA ne bo trdo kodiral naslovov celic, temveč bo deloval glede na aktivno (trenutno izbrano) celico.
Če želite posneti makro z relativnim sklicevanjem, kliknite Uporabite Relativne reference gumb na Razvijalec Če se želite vrniti na absolutno sklicevanje, ponovno kliknite gumb, da ga izklopite.
Če na primer zabeležite nastavitev tabele s privzetim absolutnim sklicevanjem, bo vaš makro vedno znova ustvaril tabelo na istem mestu (v tem primeru, Naslov v A1, Postavka1 v A2, Postavka2 v A3).
Sub Absolute_Referencing() Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Header" Range( "A2" ). Select ActiveCell.FormulaR1C1 = "Item1" Range( "A3" ). Select ActiveCell.FormulaR1C1 = "Item2" End Sub
Če isti makro zabeležite z relativnim sklicevanjem, bo tabela ustvarjena tam, kamor ste postavili kazalec pred zagonom makra ( Naslov v aktivni celici, Postavka1 v spodnji celici in tako dalje).
Sub Relativno_referenciranje() 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 SubOpombe:
- Pri uporabi relativnih referenc ne pozabite izbrati začetne celice, preden začnete snemati makro.
- Relativno sklicevanje ne deluje za vse. Nekatere funkcije programa Excel, npr. pretvorba območja v tabelo, zahtevajo absolutno sklicevanje.
Izberite območja z uporabo bližnjic na tipkovnici
Ko z miško ali smernimi tipkami izberete celico ali razpon celic, Excel zapiše naslove celic. Posledično se bodo zapisane operacije ob zagonu makra izvajale v istih celicah. Če tega ne želite, uporabite bližnjice za izbiranje celic in razponov.
Kot primer posnemimo makro, ki za datume v spodnji tabeli nastavi določeno obliko (d-mmm-yy):
V ta namen zabeležite naslednje operacije: pritisnite Ctrl + 1, da odprete Oblikovanje celic pogovorno okno> Datum> izberite obliko> OK. Če vaš zapis vključuje izbiro območja z miško ali smernimi tipkami, bo Excel pripravil naslednjo kodo VBA:
Z zgornjim makrom bi vsakič izbrali območje A2:B4. Če v tabelo dodate še nekaj vrstic, jih makro ne bo obdelal.
Poglejmo, kaj se zgodi, če tabelo izberete z bližnjico.
Postavite kazalec v zgornjo levo celico ciljnega območja (A2 v tem primeru), začnite snemati in pritisnite Ctrl + Shift + End . Prva vrstica kode bo videti takole:
Range(Selection, ActiveCell.SpecialCells(xlLastCell)). SelectTa koda izbere vse celice od aktivne celice do zadnje uporabljene celice, kar pomeni, da bodo vsi novi podatki samodejno vključeni v izbor.
Uporabite lahko tudi kombinacije Ctrl + Shift + puščica:
- Ctrl + Shift + desna puščica, da izberete vse uporabljene celice na desni strani, čemur sledi
- Ctrl + Shift + puščica navzdol za izbiro vseh uporabljenih celic navzdol.
Tako bosta namesto ene ustvarjeni dve kodni vrstici, vendar bo rezultat enak - izbrane bodo vse celice s podatki navzdol in desno od aktivne celice:
Razpon(Izbor, Izbor. Konec (xlToRight)). Izberite Razpon(Izbor, Izbor. Konec (xlDown)).Posnemite makro za izbiro in ne za določene celice
Zgornja metoda (tj. izbira vseh uporabljenih celic, ki se začnejo z aktivno celico) se odlično obnese pri izvajanju enakih operacij v celotni tabeli. V nekaterih primerih pa boste morda želeli, da makro obdela določeno območje in ne celotne tabele.
V ta namen VBA ponuja Izbor objekt, ki se nanaša na trenutno izbrano(-e) celico(-e). Večino stvari, ki jih lahko naredite z obsegom, lahko naredite tudi z izborom. Kakšno prednost vam to daje? V mnogih primerih vam med snemanjem ni treba izbrati ničesar - preprosto napišite makro za aktivno celico. In nato izberite poljuben obseg, zaženite makro in ta bo upravljal celoten izbor.
Ta enovrstični makro lahko na primer poljubno število izbranih celic oblikuje kot odstotke:
Sub Percent_Format() Selection.NumberFormat = "0,00%" End SubSkrbno načrtujte, kaj snemate
Program Microsoft Excel Macro Recorder posname skoraj vse vaše dejavnosti, vključno z napakami, ki jih naredite in popravite. Če na primer pritisnete Ctrl + Z, da nekaj razveljavite, se bo to tudi posnelo. Sčasoma lahko na koncu dobite veliko nepotrebne kode. Če se želite temu izogniti, kodo uredite v urejevalniku VB ali ustavite snemanje, izbrišite pomanjkljiv makro in začnite snemati znova.
Varnostna kopija ali shranjevanje delovnega zvezka pred zagonom makra
Rezultata makroskopov Excel ni mogoče razveljaviti. Zato je pred prvim zagonom makra smiselno ustvariti kopijo delovnega zvezka ali vsaj shraniti trenutno delo, da preprečite nepričakovane spremembe. Če makro naredi nekaj narobe, preprosto zaprite delovni zvezek, ne da bi ga shranili.
Posneti makri naj bodo kratki
Ko avtomatizirate zaporedje različnih opravil, vas morda mika, da bi jih vse zapisali v enem samem makru. Glavna razloga za to sta dva. Prvič, dolg makro je težko zapisati gladko in brez napak. Drugič, velike makre je težko razumeti, preizkusiti in odpraviti napake. Zato je dobro velik makro razdeliti na več delov. Na primer, ko ustvarjate zbirno tabeloiz več virov, lahko z enim makrom uvozite informacije, z drugim združite podatke, s tretjim pa oblikujete tabelo.
Upam, da vam je to vodilo dalo nekaj vpogleda v to, kako zabeležiti makro v Excelu. Vsekakor se vam zahvaljujem za branje in upam, da se naslednji teden vidimo na našem blogu!