Snimanje makronaredbe u programu Excel - Članci TechTV

Ovo su moje bilješke o emisiji s mog pojavljivanja u epizodi 33 poziva za pomoć na TechTV Canada.

VBA makro snimač

Svaka kopija Excela prodana od 1995. godine uključuje nevjerojatno moćan Visual Basic za aplikacije (VBA) koji se skriva iza ćelija. Ako imate Excel, imate VBA.

VBA vam omogućuje automatizaciju svega što možete raditi u Excelu, plus više stvari koje u Excelu obično nisu moguće.

Na našu sreću, Microsoft je uključio makro snimač s Excelom. To vam omogućuje pisanje VBA koda, a da niste programer. Nažalost, Macro Recorder je neispravan. Neće proizvesti kod koji će raditi svaki put. Snimač makronaredbi približit će vas, ali u mnogim slučajevima morate malo popraviti kôd kako bi pouzdano radio. U drugim slučajevima morate znati kada koristiti Relativno snimanje kako bi makronaredba funkcionirala.

Tracy Syrstad i ja napisali smo VBA i Macros Microsoft Excel 2016 kako bismo vam pomogli razumjeti ograničenja snimljenog koda i naučili kako popraviti snimljeni kôd u nešto što će raditi svaki put.

U emisiji sam demonstrirao postupak snimanja makronaredbe koja će savršeno funkcionirati ako znate koristiti gumb Relativna referenca. Netko mi je dao radni list programa Excel sa stotinama imena i adresa. Željeli su poštanske etikete. Ako ste ikada koristili značajku spajanja pošte Microsoft Word, znate da vam je potrebno svako polje u novom stupcu na radnom listu. Umjesto toga, na ovom su radnom listu podaci padali prema stupcu A.

Postupak popravljanja jedne naljepnice prilično je naporan.

  • Počnite s pokazivačem ćelije na imenu u stupcu A.
  • Pritisnite strelicu prema dolje da biste se pomaknuli na adresu
  • Ctrl + x za rezanje
  • Strelica prema gore, strelica udesno za pomicanje u stupac B pored imena
  • Ctrl + v za lijepljenje
  • Dvaput strelica dolje, jednom lijeva strelica za prelazak u grad
  • Ctrl + x za rezanje
  • Dvaput strelica prema gore, strelica udesno tri puta
  • Ctrl + v za lijepljenje
  • Dvaput lijeva strelica, jednom strelica dolje za pomicanje na sada prazan redak.
  • Držite pritisnutu tipku Shift dok dvaput pritisnete strelicu prema dolje
  • Alt + edr za brisanje praznih redaka
  • Strelica prema gore i dolje za ponovno odabir samo imena.

Evo animacije koja prikazuje ove korake:

Postavljanje programa Excel za dopuštanje makronaredbi

Iako svaka kopija Excela sadrži VBA, Microsoft prema zadanim postavkama isključuje mogućnost pokretanja makronaredbi. Morate izvršiti jednokratnu prilagodbu kako biste omogućili pokretanje makronaredbi. Otvorite Excel. Na izborniku odaberite Alati> Makronaredba> Sigurnost. Ako je razina sigurnosti makronaredbe trenutno postavljena na visoku, promijenite je u Srednju.

Priprema za snimanje makronaredbe

Razmislite o koracima potrebnim za postizanje zadatka. Želite biti sigurni da započinjete s pokazivačem ćelije na imenu, a završavate s njim na sljedećem imenu. To će vam omogućiti višestruko pokretanje makronaredbe. Kad pripremite korake, uključite makro snimač. Na izborniku odaberite Alati> Makronaredba> Snimanje nove makronaredbe.

Ako ćete ovu makronaredbu izvoditi mnogo dana, trebali biste joj dati korisno ime. Ako je jednokratna makronaredba automatizirati jednokratni zadatak, tada je ostavljanje naziva Makronaredbe kao Macro1 vjerojatno u redu. Ovdje je važno polje tipke prečaca. Ako stvarate makronaredbu za jednokratnu upotrebu, dodijelite makronaredbu tipki prečaca kao što je Ctrl + a - prilično je lako pritisnuti Ctrl + a više puta jer su tipke blizu jedna drugoj. Ako ćete stvoriti makronaredbu koju ćete koristiti svaki dan, tada želite dodijeliti makronaredbu ključu koji već nije važna kombinacija tipki prečaca. Ctrl + j ili Ctrl + k su dobar izbor.

Makronaredbe za jednokratnu upotrebu trebaju biti pohranjene u ThisWorkbook. Ako trebate makronaredbu više puta koristiti na mnogo različitih radnih knjiga, tada makronaredbu možete pohraniti u osobnu makronaredbu.

Sada vam je predstavljena najsitnija alatna traka u cijelom Excelu; Alatna traka Zaustavi snimanje. Ima samo dvije ikone i izgleda ovako:

Ako vam se ova alatna traka nađe na putu, nemojte pritiskati X da biste je zatvorili. Umjesto toga, zgrabite plavu traku i povucite alatnu traku na novo mjesto. Čin pomicanja alatne trake nije zabilježen u makronaredbi. Ako slučajno zatvorite alatnu traku, vratite je pomoću Pogled> Alatne trake> Zaustavi snimanje. Ova će radnja, međutim, biti zabilježena.

Prvi gumb na alatnoj traci je gumb "Zaustavi snimanje". Ovo je samo po sebi razumljivo. Kad završite sa snimanjem makronaredbe, pritisnite alatnu traku zaustavljanja snimanja.

Važniji (i rijetko razumljiv) gumb je gumb "Relativna referenca".

U našem trenutnom primjeru prije početka morate pritisnuti gumb Relativna referenca. Ako snimite makronaredbu s uključenim relativnim referencama, Excel će snimiti korake poput ovog:

  • Pomakni jednu ćeliju prema dolje
  • Izrežite trenutnu ćeliju
  • Pomakni jednu ćeliju gore
  • Pomakni jednu ćeliju udesno
  • Zalijepiti
  • itd.

Ako biste umjesto toga snimili makronaredbu bez relativnih referenci, makronaredba bi zabilježila ove korake:

  • Premjesti u ćeliju A4
  • Izrežite ćeliju A4
  • Premjesti u ćeliju A3
  • Premjesti u ćeliju B3
  • Zalijepite u ćeliju B3
  • itd.

To bi bilo užasno pogrešno - makronaredba nam treba za rad na stanicama koje su 1 i 2 stanice od početne točke makronaredbe. Dok iznova i iznova pokrećete makro, početna točka bit će redak 4, redak 5, red 6 itd. Snimanje makronaredbe bez uključenih relativnih referenci imalo bi da se makronaredba uvijek izvodi u retku 3 kao početna točka.

Prati ove korake:

  • Odaberite gumb Relativna referenca na alatnoj traci Zaustavi snimanje
  • Pokazivač ćelije već bi trebao biti na imenu u stupcu A.
  • Pritisnite strelicu prema dolje da biste se pomaknuli na adresu
  • Ctrl + x za rezanje
  • Strelica prema gore, strelica udesno za pomicanje u stupac B pored imena
  • Ctrl + v za lijepljenje
  • Dvaput strelica dolje, jednom lijeva strelica za prelazak u grad
  • Ctrl + x za rezanje
  • Dvaput strelica prema gore, strelica udesno tri puta
  • Ctrl + v za lijepljenje
  • Dvaput lijeva strelica, jednom strelica dolje za pomicanje na sada prazan redak.
  • Držite pritisnutu tipku Shift dok dvaput pritisnete strelicu prema dolje
  • Alt + edr za brisanje praznih redaka
  • Strelica prema gore i dolje za odabir sljedećeg imena na popisu.
  • Pritisnite alatnu traku Zaustavi snimanje
  • Spremite radnu knjigu
  • Testirajte makronaredbu pritiskom na gore dodijeljenu tipku prečaca. To bi trebalo savršeno popraviti sljedeće ime na popisu

Jednom kad vidite da makronaredba radi po želji, možete pritisnuti Ctrl + a da biste brzo popravili nekoliko imena u sekundi. Cijeli popis od 500 imena može se popraviti u minutu ili dvije.

Bonus savjet - nije u emisiji

Makronaredbu možete jednostavno umotati u jednostavnu petlju kako bi popravio svih 500 imena, a da ne morate pritisnuti Ctrl + nekoliko stotina puta.

Pritisnite tipku Alt + F11 da biste otvorili uređivač makronaredbi.

Ako ne vidite okno Project - VBAProject, pritisnite Ctrl + r.

Desnom tipkom miša kliknite Modul1 i odaberite Prikaži kod. Vidjet ćete kod koji izgleda ovako:

Sad, ne morate razumjeti što ovaj kod radi, ali znate da želimo pokrenuti sve u toj makronaredbi jednom za svako ime koje imamo. Ako znate da postoje 462 imena, tada možete dodati 2 retka kako biste 462 puta pokrenuli kôd. Na vrh makronaredbe umetnite novi redak s riječima " For i = 1 to 462". Na dnu makronaredbe umetnite redak koji kaže " Next i". To govori VBA-u da pokrene kôd unutar 462 puta.

Zaključak

Nakon ove jednostavne makronaredbe, pokazao sam primjer u emisiji vrlo složene makronaredbe. Ovaj je makronaredba stvorio zaokretne tablice i grafikone za 46 odjela tvrtke. Ovo je izvješće trajalo po 40 sati svakog mjeseca. Makro VBA sada se izvodi i stvara svih 46 izvještaja za manje od 2 minute.

Knjiga VBA i makronaredbe Microsoft Excel 2016 povest će vas krivuljom učenja tako da od snimanja jednostavnih makronaredbi poput ove možete pokrenuti vrlo složena izvješća koja vam mogu uštedjeti stotine sati godišnje. Naravno, ako ne želite učiti VBA, unajmite Excel savjetnika koji će za vas izraditi izvješće.

Zanimljivi članci...