Sadržaj
Upute korak po korak za početnike za snimanje, pregled, pokretanje i spremanje makronaredbe. Također ćete naučiti neke unutarnje mehanike rada makronaredbi u Excelu.
Makronaredbe su odličan način za automatiziranje zadataka koji se ponavljaju u Excelu. Ako vam se čini da uvijek iznova radite iste stvari, snimite svoje poteze kao makro i dodijelite mu prečac na tipkovnici. A sada, sve snimljene radnje možete izvoditi automatski, jednim pritiskom na tipku!
Kako snimiti makronaredbu u Excelu
Kao i drugi VBA alati, Excel makronaredbe nalaze se na kartici Razvojni programer , koja je prema zadanim postavkama skrivena. Dakle, prva stvar koju trebate učiniti je dodati karticu Razvojni programer na svoju Excel vrpcu.
Da biste snimili makronaredbu u Excelu, izvršite ove korake:
- Na Razvojni programer , u grupi Kod kliknite gumb Snimi makronaredbu .
Alternativno, kliknite Snimi Gumb Macro na lijevoj strani trake Status :
Ako više volite raditi s tipkovnicom nego s mišem, pritisnite sljedeće niz tipki Alt , L , R (jednu po jednu, ne sve tipke odjednom).
- U dijaloškom okviru Snimanje makronaredbe koji se pojavi, konfigurirajte glavne parametre svoje makronaredbe:
- U Makronaredbi okvir name unesite naziv za svoju makronaredbu. Pokušajte ga učiniti smislenim i opisnim, tako da kasnije možete brzo pronaći makro na popisu.
Inštedi vam puno vremena i živaca čineći vašu krivulju učenja glatkijom, a makronaredbe učinkovitijima.
Koristite relativne reference za snimanje makronaredbi
Prema zadanim postavkama, Excel koristi apsolutne referenciranje za snimanje makronaredbe. To znači da bi se vaš VBA kod uvijek odnosio na potpuno iste ćelije koje ste odabrali, bez obzira gdje se nalazite na radnom listu kada pokrećete makronaredbu.
Međutim, moguće je promijeniti zadano ponašanje na relativno referenciranje . U ovom slučaju, VBA neće kodirati adrese ćelija, ali će raditi u odnosu na aktivnu (trenutačno odabranu) ćeliju.
Za snimanje makronaredbe s relativnim referenciranjem, kliknite Koristi <8 Gumb>Relativne reference na kartici Razvojni programer . Da biste se vratili na apsolutno referenciranje, ponovno kliknite gumb da biste ga isključili.
Na primjer, ako snimite postavljanje tablice sa zadanim apsolutnim referenciranjem, vaša će makronaredba uvijek ponovno kreirajte tablicu na istom mjestu (u ovom slučaju, Zaglavlje u A1, Stavka1 u A2, Stavka2 u A3).
Pod Apsolutno_referenciranje() Raspon ("A1"). Odaberite ActiveCell.FormulaR1C1 = "Header" Range( "A2"). Odaberite ActiveCell.FormulaR1C1 = "Item1" Range( "A3"). Odaberite ActiveCell.FormulaR1C1 = "Item2" End Sub
Ako snimite istu makronaredbu s relativnim referenciranjem, tablica će se stvoriti gdje god stavite pokazivač prije pokretanja makronaredbe ( Zaglavlje uaktivna ćelija, Item1 u donjoj ćeliji i tako dalje).
Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Range( "A1" ). Odaberite ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ). Odaberite ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Range( "A1" ). Odaberite End SubNapomene:
- Kada koristite relativne reference, svakako odaberite početnu ćeliju prije nego počnete snimati makronaredbu.
- Relativno referenciranje ne radi za sve. Neke značajke programa Excel, npr. pretvaranje raspona u tablicu, zahtijevaju apsolutne reference.
Odaberite raspone pomoću tipkovničkih prečaca
Kada odaberete ćeliju ili niz ćelija pomoću miša ili tipki sa strelicama, Excel zapisuje adrese ćelija. Posljedično, kad god pokrenete makronaredbu, snimljene operacije bit će izvedene točno na istim ćelijama. Ako to nije ono što želite, upotrijebite prečace za odabir ćelija i raspona.
Kao primjer, snimimo makronaredbu koja postavlja određeni format (d-mmm-gg) za datume u donjoj tablici:
Za ovo morate zabilježiti sljedeće operacije: pritisnite Ctrl + 1 za otvaranje dijaloškog okvira Format Cells > Datum > odaberite format > U REDU. Ako vaše snimanje uključuje odabir raspona pomoću miša ili tipki sa strelicama, Excel će proizvesti sljedeći VBA kod:
Sub Date_Format() Range( "A2:B4" ). OdaberiSelection.NumberFormat = "d-mmm-yy" End SubPokretanje gornje makronaredbe odabralo bi raspon A2:B4 svaki put. Ako svojoj tablici dodate još neke retke, makronaredba ih neće obraditi.
Da vidimo sada što se događa kada odaberete tablicu pomoću prečaca.
Postavite kursor u gornjoj lijevoj ćeliji ciljanog raspona (A2 u ovom primjeru), započnite snimanje i pritisnite Ctrl + Shift + End . Kao rezultat toga, prvi redak koda izgledat će ovako:
Raspon(Odabir, ActiveCell.SpecialCells(xlLastCell)). OdaberiteOvaj kod odabire sve ćelije od aktivne ćelije do posljednje korištene ćelije, što znači da će svi novi podaci automatski biti uključeni u odabir.
Alternativno, možete koristiti kombinacije Ctrl + Shift + strelice:
- Ctrl + Shift + strelica desno za odabir svih korištenih ćelija s desne strane, nakon čega slijedi
- Ctrl + Shift + strelica prema dolje za odabir svih korištenih ćelija prema dolje.
Ovo će generirati dvije linije koda umjesto jedne, ali će rezultat biti isti - bit će odabrane sve ćelije s podacima dolje i desno od aktivne ćelije:
Raspon(Odabir, Odabir. Kraj ( xlDesno)). Odaberite Raspon (Odabir, Odabir. Kraj (xlDolje)). OdaberiteSnimi makronaredbu za odabir umjesto određenih ćelija
Gornja metoda (tj. odabir svih korištenih ćelija počevši od aktivne ćelije) odlično funkcionira za izvođenje istih operacija na cijeloj tablici. U nekimsituacijama, međutim, možda ćete htjeti da makronaredba obradi određeni raspon, a ne cijelu tablicu.
Za ovo, VBA pruža objekt Odabir koji se odnosi na trenutno odabranu ćeliju(e) . Većina stvari koje se mogu učiniti s rasponom mogu se učiniti i s odabirom. Koju prednost vam to daje? U mnogim slučajevima ne morate uopće ništa odabrati tijekom snimanja - samo napišite makronaredbu za aktivnu ćeliju. Zatim odaberite bilo koji raspon koji želite, pokrenite makronaredbu i ona će manipulirati cijelim odabirom.
Na primjer, ova jednoredna makronaredba može formatirati bilo koji broj odabranih ćelija kao postotke:
Sub Percent_Format () Selection.NumberFormat = "0.00%" End SubPažljivo planirajte što bilježite
Microsoft Excel Macro Recorder bilježi gotovo sve vaše aktivnosti, uključujući pogreške koje napravite i ispravite. Na primjer, ako pritisnete Ctrl + Z da nešto poništite, to će također biti snimljeno. Na kraju biste mogli završiti s puno nepotrebnog koda. Da biste to izbjegli, ili uredite kod u VB uređivaču ili zaustavite snimanje, izbrišite manjkavu makronaredbu i počnite snimati iznova.
Napravite sigurnosnu kopiju ili spremite radnu knjigu prije pokretanja makronaredbe
Rezultat programa Excel makronaredbe se ne mogu poništiti. Stoga, prije prvog pokretanja makronaredbe, ima smisla stvoriti kopiju radne knjige ili barem spremiti svoj trenutni rad kako biste spriječili neočekivane promjene. Ako makro učini nešto krivo,jednostavno zatvorite radnu knjigu bez spremanja.
Neka snimljene makronaredbe budu kratke
Kad automatizirate niz različitih zadataka, možda ćete doći u iskušenje da ih sve snimite u jednu makronaredbu. Dva su glavna razloga zašto to ne učiniti. Prvo, teško je snimiti dugačak makro glatko i bez grešaka. Drugo, velike makronaredbe teško je razumjeti, testirati i otklanjati pogreške. Stoga je dobro veliku makronaredbu podijeliti na nekoliko dijelova. Na primjer, kada stvarate tablicu sažetka iz više izvora, možete koristiti jednu makronaredbu za uvoz informacija, drugu za konsolidaciju podataka, a treću za formatiranje tablice.
Nadam se da vam je ovaj vodič dao neki uvid o tome kako snimiti makronaredbu u Excelu. U svakom slučaju, zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!
nazive makronaredbi, možete koristiti slova, brojke i podvlake; prvi znak mora biti slovo. Razmaci nisu dopušteni, tako da biste trebali ili ostaviti naziv sastavljen od jedne riječi tako da svaki dio počinje velikim slovom (npr. MyFirstMacro ) ili odvojiti riječi podvlakama (npr. My_First_Macro ). - U okvir Tipkovni prečac upišite bilo koje slovo da biste makronaredbi dodijelili prečac na tipkovnici (nije obavezno).
Dopuštena su i velika i mala slova, ali bilo bi mudro koristiti kombinacije tipki velikih slova ( Ctrl + Shift + slovo ) jer prečaci makronaredbe nadjačavaju sve zadane prečace programa Excel dok je radna knjiga koja sadrži makronaredbu otvorena. Na primjer, ako makronaredbi dodijelite Ctrl + S, izgubit ćete mogućnost spremanja Excel datoteka pomoću prečaca. Dodjeljivanje Ctrl + Shift + S zadržat će standardni prečac za spremanje.
- S padajućeg popisa Pohrani makronaredbu u odaberite gdje želite pohraniti svoju makronaredbu:
- Osobna radna knjiga makronaredbi – pohranjuje makronaredbu u posebnu radnu knjigu pod nazivom Personal.xlsb . Sve makronaredbe pohranjene u ovoj radnoj knjizi dostupne su kad god koristite Excel.
- Ova radna knjiga (zadano) - makronaredba će biti pohranjena u trenutnoj radnoj knjizi i bit će dostupna kada ponovno otvorite radnu knjigu ili je podijelite s drugim korisnicima.
- Nova radna knjiga – stvara novu radnu knjigu i bilježi makronaredbu u tu radnu knjigu.
- UU okviru Opis upišite kratak opis onoga što vaša makronaredba radi (nije obavezno).
Iako ovo polje nije obavezno, preporučujem da uvijek navedete kratak opis. Kada izradite puno različitih makronaredbi, to će vam pomoći da brzo shvatite što svaka makronaredba radi.
- Kliknite OK za početak snimanja makronaredbe.
- U Makronaredbi okvir name unesite naziv za svoju makronaredbu. Pokušajte ga učiniti smislenim i opisnim, tako da kasnije možete brzo pronaći makro na popisu.
- Izvršite radnje koje želite za automatizaciju (pogledajte primjer makronaredbe snimanja).
- Kada završite, kliknite gumb Zaustavi snimanje na kartici Razvojni programer :
Ili analogni gumb na traci Status :
Primjer snimanja makronaredbe u Excelu
Da bismo vidjeli kako to funkcionira u praksi, snimimo makronaredbu koja primjenjuje određeno oblikovanje na odabrane ćelije. U tu svrhu učinite sljedeće:
- Odaberite jednu ili više ćelija koje želite formatirati.
- Na kartici Programer ili Status kliknite na Makro za snimanje .
- U dijaloškom okviru Makro za snimanje konfigurirajte sljedeće postavke:
- Imenujte makronaredbu Formating_zaglavlja (jer ćemo formatirati zaglavlja stupaca).
- Postavite pokazivač u polje Tipka prečaca i istovremeno pritisnite tipke Shift + F. Ovo će makronaredbi dodijeliti prečac Ctrl + Shift + F.
- Odaberite pohranjivanje makronaredbe u ovu radnu knjigu.
- Za Opis koristite sljedeći tekst koji objašnjava što makro radi: Podebljava tekst, dodaje boju ispune i centrira .
- Kliknite U redu za početak snimanja.
- Formatirajte unaprijed odabrane ćelije kako želite. Za ovaj primjer koristimo podebljano oblikovanje teksta, svijetloplavu boju ispune i središnje poravnanje.
Savjet. Nemojte odabrati nijednu ćeliju nakon što počnete snimati makronaredbu. Ovo će osigurati da se svo oblikovanje primjenjuje na odabir , a ne na određeni raspon.
- Kliknite Zaustavi snimanje na kartici Programer ili na traci Statusa .
To je to! Vaša makronaredba je snimljena. Sada možete odabrati bilo koji raspon ćelija na bilo kojem listu, pritisnuti dodijeljeni prečac ( Ctrl+ Shift + F ) i vaše prilagođeno oblikovanje odmah će se primijeniti na odabrane ćelije.
Kako raditi sa snimljenim makronaredbama u Excelu
Svim glavnim opcijama koje Excel nudi za makronaredbe može se pristupiti putem dijaloškog okvira Makro . Da biste ga otvorili, kliknite gumb Makronaredbe na kartici Razvojni programer ili pritisnite prečac Alt+F8.
U dijaloškom okviru koji se otvori, možete vidjeti popis makronaredbi dostupnih u svim otvorenim radnim knjigama ili povezanih s određenom radnom knjigom i koristiti sljedeće opcije:
- Pokreni - izvršava odabranu makronaredbu .
- Step into - omogućuje vam otklanjanje pogrešaka i testiranje makronaredbe u uređivaču Visual Basic.
- Uredi - otvara odabranu makronaredbu uVBA Editor, gdje možete pregledavati i uređivati kod.
- Izbriši - trajno briše odabranu makronaredbu.
- Opcije – omogućuje promjenu svojstva makronaredbe kao što su pridruženi Prečac tipka i Opis .
Kako pregledati makronaredbe u programu Excel
Kod makronaredbe programa Excel može se pregledavati i mijenjati u uređivaču Visual Basic. Da biste otvorili Editor, pritisnite Alt + F11 ili kliknite gumb Visual Basic na kartici Developer .
Ako vidite VB urednik po prvi put, nemojte se osjećati obeshrabreno ili zastrašeno. Nećemo govoriti o strukturi ili sintaksi VBA jezika. Ovaj odjeljak samo će vam dati neko osnovno razumijevanje o tome kako Excel makronaredbe rade i što zapravo radi snimanje makronaredbe.
VBA uređivač ima nekoliko prozora, ali mi ćemo se usredotočiti na dva glavna:
Project Explorer - prikazuje popis svih otvorenih radnih knjiga i njihovih listova. Dodatno, prikazuje module, korisničke obrasce i module klasa.
Prozor koda - ovo je mjesto gdje možete pregledavati, uređivati i pisati VBA kod za svaki objekt prikazan u Project Exploreru.
Kada smo snimili ogledni makronaredbu, sljedeće su se stvari dogodile u pozadini:
- Novi modul ( Moduel1 ) je umetnut.
- VBA kod makronaredbe napisan je u prozoru koda.
Da biste vidjeli kod određenogmodula, dvokliknite modul ( Module1 u našem slučaju) u prozoru Project Explorer. Obično kod makronaredbe ima ove dijelove:
Naziv makronaredbe
U VBA, svaka makronaredba počinje s Sub nakon čega slijedi naziv makronaredbe i završava s End Sub , gdje je "Sub" skraćenica za Podprogram (koji se također naziva Procedura ). Naš primjer makronaredbe zove se Header_Formatting() , tako da kod počinje ovim redom:
Sub Header_Formatting()Ako želite preimenovati makronaredbu , jednostavno izbrišite trenutni naziv i upišite novi izravno u prozor koda.
Komentari
Reci s prefiksom apostrofa (') i prikazani zeleno prema zadanim postavkama se ne izvršavaju. Ovo su komentari dodani u informativne svrhe. Redci komentara mogu se sigurno ukloniti bez utjecaja na funkcionalnost koda.
Obično snimljena makronaredba ima 1 - 3 retka komentara: naziv makronaredbe (obavezno); opis i prečac (ako je naveden prije snimanja).
Izvršni kod
Nakon komentara, dolazi kod koji izvršava radnje koje ste snimili. Ponekad, snimljena makronaredba može sadržavati mnogo suvišnog koda, što ipak može biti korisno za otkrivanje kako stvari funkcioniraju s VBA :)
Slika u nastavku pokazuje što svaki dio koda naše makronaredbe radi:
Kako pokrenuti snimljenu makronaredbu
Pokretanjem makronaredbe govorite Excelu da se vrati na snimljeni VBA kod i izvršipotpuno isti koraci. Postoji nekoliko načina za pokretanje snimljene makronaredbe u Excelu, a evo onih najbržih:
- Ako ste makronaredbi dodijelili tipkovnički prečac , pritisnite taj prečac .
- Pritisnite Alt + 8 ili kliknite gumb Makronaredbe na kartici Razvojni programer . U dijaloškom okviru Makro odaberite željeni makro i kliknite Pokreni .
Također je moguće pokrenuti snimljenu makronaredbu klikom na vlastiti gumb. Evo koraka za izradu jednog: Kako stvoriti gumb makronaredbe u Excelu.
Kako spremiti makronaredbe u Excelu
Spremite makronaredbu bilo da ste snimili makronaredbu ili ručno napisali VBA kod , trebate spremiti radnu knjigu s omogućenom makronaredbom (.xlms ekstenzija). Evo kako:
- U radnoj knjizi koja sadrži makronaredbu kliknite gumb Spremi ili pritisnite Ctrl + S .
- U Spremi kao dijaloški okvir, odaberite Excel radna knjiga s omogućenim makronaredbama (*.xlsm) s padajućeg popisa Spremi kao vrstu , a zatim kliknite Spremi :
Excel makronaredbe: što jest, a što nije snimljeno
Kao što ste upravo vidjeli, vrlo je jednostavno snimiti makronaredbu u Excelu. Ali da biste stvorili učinkovite makronaredbe, morate razumjeti što se događa iza kulisa.
Što se bilježi
Excelov Macro Recorder bilježi dosta stvari - gotovo sve klikove mišem i pritiske na tipke. Dakle, trebali biste pažljivo razmisliti o svojim koracima kako biste izbjegli višak koda koji možerezultirati neočekivanim ponašanjem vaše makronaredbe. Ispod je nekoliko primjera onoga što Excel bilježi:
- Odabir ćelija mišem ili tipkovnicom. Snima se samo zadnji odabir prije akcije. Na primjer, ako odaberete raspon A1:A10, a zatim kliknete ćeliju A11, zabilježit će se samo odabir A11.
- Oblikovanje ćelije kao što je ispuna i boja fonta, poravnanje, obrubi itd.
- Formatiranje brojeva kao što su postotak, valuta itd.
- Uređivanje formula i vrijednosti. Promjene se bilježe nakon što pritisnete Enter .
- Skrolanje, pomicanje Excel prozora, prebacivanje na druge radne listove i radne knjige.
- Dodavanje, imenovanje, premještanje i brisanje radnih listova.
- Stvaranje, otvaranje i spremanje radnih knjiga.
- Pokretanje drugih makronaredbi.
Što se ne može zabilježiti
Unatoč mnogim različitim stvarima koje Excel može zabilježiti, određene značajke nadilaze mogućnosti snimač makronaredbi:
- Prilagodba vrpce programa Excel i alatne trake za brzi pristup.
- Akcije unutar dijaloga programa Excel kao što su Uvjetno oblikovanje ili Pronađi i zamijeni (bilježi se samo rezultat).
- Interakcije s drugim programima. Na primjer, ne možete snimiti kopiranje/lijepljenje iz Excel radne knjige u Wordov dokument.
- Sve što uključuje VBA Editor. Ovo nameće najznačajnija ograničenja - mnoge stvari koje se mogu učiniti na programskoj razini ne mogubiti zabilježeno:
- Stvaranje prilagođenih funkcija
- Prikazivanje prilagođenih dijaloških okvira
- Izrada petlji kao što su Za sljedeće , Za svaki , Učinite dok , itd.
- Procjena uvjeta. U VBA možete koristiti naredbu IF Then Else za testiranje uvjeta i pokretanje nekog koda ako je uvjet istinit ili drugog koda ako je uvjet lažan.
- Izvršavanje koda na temelju događaja . S VBA možete koristiti mnoge događaje za pokretanje koda povezanog s tim događajem (kao što je otvaranje radne knjige, ponovno izračunavanje radnog lista, promjena odabira i tako dalje).
- Korištenje argumenata. Kada pišete makronaredbu u VBA uređivaču, možete unijeti ulazne argumente za makronaredbu za izvođenje određenog zadatka. Snimljena makronaredba ne može imati nikakve argumente jer je neovisna i nije povezana ni s jednom drugom makronaredbom.
- Razumijevanje logike. Na primjer, ako snimite makronaredbu koja kopira određene ćelije, recimo u retku Ukupno , Excel će zabilježiti samo adrese kopiranih ćelija. Pomoću VBA možete kodirati logiku, tj. kopirati vrijednosti u retku Ukupno .
Iako gornja ograničenja postavljaju mnoge granice za snimljene makronaredbe, još uvijek su dobra polazna točka. Čak i ako nemate pojma o VBA jeziku, možete brzo snimiti makronaredbu, a zatim analizirati njen kod.
Korisni savjeti za snimanje makronaredbi u Excelu
U nastavku ćete pronaći nekoliko savjeta i bilješke koje potencijalno mogu