Kako podesiti pametne telefone i računare. Informativni portal

Makro u vizuelnom osnovnom jeziku. Akros u Excelu za početnike

Malo ljudi zna da se prva verzija popularnog Microsoft Excel proizvoda pojavila 1985. godine. Od tada je prošao kroz nekoliko modifikacija i tražen je od strane miliona korisnika širom svijeta. U isto vrijeme, mnogi ljudi rade sa samo malim dijelom mogućnosti ovog procesora proračunskih tablica i ne shvaćaju kako bi im mogućnost programiranja u Excelu mogla olakšati život.

Šta je VBA

Programiranje u Excel-u se izvodi pomoću programskog jezika Visual Basic for Application, koji je originalno ugrađen u najpoznatiji Microsoftov procesor za tabelarne proračune.

Stručnjaci navode njegove prednosti kao komparativnu lakoću razvoja. Kao što pokazuje praksa, čak i korisnici koji nemaju profesionalne vještine programiranja mogu savladati osnove VBA. Karakteristike VBA uključuju izvršavanje skripte u okruženju kancelarijskih aplikacija.

Nedostatak programa su problemi povezani s kompatibilnošću različitih verzija. Oni su uzrokovani činjenicom da se VBA programski kod odnosi na funkcionalnost koja je prisutna u novoj verziji proizvoda, ali ne i u staroj. Takođe, preterano velika otvorenost koda za modifikacije od strane autsajdera je takođe nedostatak. Međutim, Microsoft Office kao i IBM Lotus Symphony omogućavaju korisniku da šifrira početni kod i postavi lozinku za njegovo gledanje.

Objekti, kolekcije, svojstva i metode

Upravo ove koncepte treba da razumeju oni koji će raditi u VBA okruženju. Prije svega, morate razumjeti šta je predmet. U Excelu, ovo je radni list, radna knjiga, ćelija i opseg. Ovi objekti imaju posebnu hijerarhiju, tj. su podređene jedna drugoj.

Glavna je Aplikacija, koja odgovara samom programu Excel. Zatim dolaze radne sveske, radni listovi, a također i opseg. Na primjer, da biste pristupili ćeliji A1 na određenom radnom listu, morate navesti putanju koja uzima u obzir hijerarhiju.

Što se tiče koncepta "kolekcija", ovo je grupa objekata iste klase, koja u zapisu ima oblik ChartObjects. Njegovi pojedinačni elementi su također objekti.

Sljedeći koncept su svojstva. One su neophodna karakteristika svakog objekta. Na primjer, za raspon je vrijednost ili formula.

Metode su naredbe koje ukazuju na ono što treba učiniti. Kada pišete kod u VBA, oni moraju biti odvojeni od objekta tačkom. Na primjer, kao što će biti pokazano kasnije, vrlo često se prilikom programiranja u Excelu koristi naredba Cells(1,1).Select. To znači da trebate odabrati ćeliju s koordinatama

Uz to se često koristi Selection.ClearContents. Njegovo izvršenje znači brisanje sadržaja odabrane ćelije.

Kako početi

Zatim morate otići na VB aplikaciju, za koju je dovoljno koristiti kombinaciju tipki "Alt" i "F11". dalje:

  • u traci menija koja se nalazi na vrhu prozora, kliknite na ikonu pored ikone programa Excel;
  • izaberite naredbu Mudule;
  • sačuvajte klikom na ikonu sa slikom;
  • napišite, da tako kažemo, skicu koda.

izgleda ovako:

potprogram()

„Naš kod

Imajte na umu da će red "Naš kod" biti označen drugom bojom (zelenom), a razlog je apostrof na početku reda koji označava da slijedi komentar.

Sada možete napisati bilo koji kod i kreirati novi alat za sebe u VBA Excel-u (pogledajte primjere programa ispod). Naravno, za one koji su upoznati sa osnovama Visual Basica, to će biti mnogo lakše. Međutim, čak i oni koji ih nemaju, po želji, moći će se dovoljno brzo smjestiti.

Makroi u Excelu

Ovo ime skriva programe napisane u jeziku Visual Basic za aplikacije. Dakle, programiranje u Excel-u je kreiranje makroa sa željenim kodom. Sa ovom mogućnošću, Microsoft tabela se samostalno razvija, prilagođavajući se potrebama određenog korisnika. Sada kada razumete kako da kreirate module za pisanje makroa, možete početi da gledate konkretne primere VBA Excel programa. Najbolje je početi s najelementarnijim kodovima.

Primjer 1

Zadatak: napisati program koji će kopirati vrijednost sadržaja jedne ćelije, a zatim pisati u drugu.

Za ovo:

  • otvorite karticu "Pregled";
  • idite na ikonu "Makroi";
  • kliknite na "Snimi makro";
  • ispunite otvoreni formular.

Radi jednostavnosti, ostavite "Macro1" u polju "Naziv makroa" i umetnite, na primjer, hh u polje "Prečica na tastaturi" (to znači da možete pokrenuti program pomoću blitz naredbe "Ctrl + h"). Pritisnite Enter.

Sada kada je snimanje makroa već počelo, sadržaj ćelije se kopira u drugu. Vratite se na originalnu ikonu. Kliknite na "Snimi makro". Ova akcija označava kraj programa.

  • ponovo idite na red "Makroi";
  • izaberite "Makro 1" sa liste;
  • kliknite na "Pokreni" (ista radnja se pokreće pokretanjem prečice na tastaturi "Ctrl + hh").

Kao rezultat toga, javlja se radnja koja je izvršena tokom snimanja makroa.

Ima smisla vidjeti kako izgleda kod. Da biste to učinili, vratite se na red "Makroi" i kliknite na "Uredi" ili "Enter". Kao rezultat toga, oni se nalaze u VBA okruženju. Zapravo, sam makro kod se nalazi između linija Sub Macro1() i End Sub.

Ako je kopiranje izvršeno, na primjer, iz ćelije A1 u ćeliju C1, tada će jedan od redova koda izgledati kao Range(“C1”).Select. U prevodu, to izgleda kao “Range(“C1”).Select, drugim rečima, skače na VBA Excel, na ćeliju C1.

Naredba ActiveSheet.Paste dovršava aktivni dio koda. To znači upisivanje sadržaja odabrane ćelije (u ovom slučaju A1) u odabranu ćeliju C1.

Primjer 2

VBA petlje vam pomažu da kreirate različite makroe u Excel-u.

VBA petlje vam pomažu da kreirate različite makroe. Pretpostavimo da postoji funkcija y=x + x 2 + 3x 3 - cos(x). Morate kreirati makro da biste dobili njegov raspored. Ovo se može uraditi samo pomoću VBA petlji.

Uzmite x1=0 i x2=10 za početnu i konačnu vrijednost argumenta funkcije. Osim toga, morate unijeti konstantu - vrijednost za korak promjene argumenta i početnu vrijednost za brojač.

Svi primjeri Excel VBA makroa kreirani su prema istom postupku kao gore. U ovom konkretnom slučaju, kod izgleda ovako:

potprogram()

korak = 0,1

Uradi Dok x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Ćelije(i, 1).Vrijednost = x1 (vrijednost x1 se upisuje u ćeliju sa koordinatama (i,1))

Ćelije(i, 2).Vrijednost = y (vrijednost y se upisuje u ćeliju sa koordinatama (i,2))

i = i + 1 (brojac aktivan);

x1 = x1 + shag (argument se mijenja za vrijednost koraka);

endsub.

Kao rezultat pokretanja ovog makroa u Excelu, dobijamo dva stupca, od kojih prvi sadrži vrijednosti za x, a drugi za y.

Zatim se na njima gradi grafikon na način koji je standardan za Excel.

Primjer 3

Za implementaciju petlji u VBA Excel 2010, kao iu drugim verzijama, uz već datu Do While konstrukciju, koristi se For.

Razmislite o programu koji će kreirati kolonu. U svakoj od njegovih ćelija biće upisani kvadrati broja odgovarajućeg reda. Korištenje konstrukcije For će vam omogućiti da je napišete vrlo kratko, bez korištenja brojača.

Prvo morate kreirati makro, kao što je gore opisano. Zatim pišemo sam kod. Vjerujemo da nas zanimaju vrijednosti za 10 ćelija. Kod izgleda ovako.

Za i = 1 do 10 Dalje

Komanda se prevodi na "ljudski" jezik kao "ponovi od 1 do 10 u koracima od jedan".

Ako je zadatak dobiti stupac s kvadratima, na primjer, sve neparne brojeve iz raspona od 1 do 11, tada pišemo:

Za i = 1 do 10 korak 1 Sljedeći.

Ovdje je korak korak. U ovom slučaju, jednako je dva. Po defaultu, odsustvo ove riječi u ciklusu znači da je korak jedan.

Dobijeni rezultati moraju se pohraniti u ćelije sa brojem (i,1). Zatim, svaki put kada se petlja pokrene, sa povećanjem i za vrijednost koraka, automatski će se povećati i broj reda. Tako će kod biti optimizovan.

Generalno, kod će izgledati ovako:

potprogram()

Za i = 1 do 10, korak 1 (možete jednostavno napisati Za i = 1 do 10)

Ćelije(i, 1).Vrijednost = i ^ 2

Dalje (na neki način djeluje kao brojač i znači još jedan početak petlje)

endsub.

Ako je sve urađeno ispravno, uključujući snimanje i pokretanje makronaredbe (pogledajte upute iznad), tada će se svaki put kada se pozove dobiti stupac određene veličine (u ovom slučaju koji se sastoji od 10 ćelija).

Primjer 4

U svakodnevnom životu često postoji potreba za donošenjem jedne ili druge odluke u zavisnosti od nekog stanja. Ne možete bez njih u VBA Excel-u. Primjeri programa u kojima je odabran dalji tok algoritma, a nije unaprijed određen inicijalno, najčešće koriste konstrukciju If ...Then (za složene slučajeve) If ...Then ...END If.

Razmotrimo konkretan slučaj. Pretpostavimo da trebate kreirati makro za "Excel" tako da je ćelija s koordinatama (1,1) napisana:

1 ako je argument pozitivan;

0 ako je argument null;

-1 ako je argument negativan.

Kreiranje takvog makroa za "Excel" počinje na standardni način, korištenjem "vrućih" tipki Alt i F11. Sljedeći kod je napisan sljedeće:

potprogram()

x= Ćelije(1, 1).Vrijednost (ova komanda dodjeljuje x vrijednost sadržaja ćelije na koordinatama (1, 1))

Ako je x>0 onda ćelije(1, 1).Vrijednost = 1

Ako je x=0 Tada je ćelije(1, 1).Vrijednost = 0

Ako je x<0 Then Cells(1, 1).Value = -1

endsub.

Ostaje pokrenuti makro i dobiti željenu vrijednost za argument u Excelu.

VBA funkcije

Kao što ste možda primijetili, programiranje u najpoznatijoj Microsoftovoj tabeli nije tako teško. Pogotovo ako naučite kako koristiti VBA funkcije. Ukupno, ovaj programski jezik, kreiran posebno za pisanje aplikacija u Excelu i Wordu, ima oko 160 funkcija. Mogu se podijeliti u nekoliko velikih grupa. Ovo je:

  • Matematičke funkcije. Primjenjujući ih na argument, dobivaju vrijednost kosinusa, prirodnog logaritma, cijelog broja, itd.
  • finansijske funkcije. Zahvaljujući njihovom prisustvu i korišćenju programiranja u Excel-u, možete dobiti efikasne alate za računovodstvene i finansijske obračune.
  • Funkcije obrade niza. To uključuje Array, IsArray; lBound; UBound.
  • VBA Excel funkcije za red. Ovo je prilično velika grupa. Uključuje, na primjer, funkcije Space za kreiranje stringa s brojem razmaka jednakim cjelobrojnom argumentu ili Asc za pretvaranje znakova u ANSI kod. Svi su oni u širokoj upotrebi i omogućavaju vam rad sa redovima u Excelu, kreirajući aplikacije koje znatno olakšavaju rad sa ovim tabelama.
  • Funkcije konverzije tipa podataka. Na primjer, CVar vraća vrijednost argumenta Expression pretvarajući ga u tip podataka Variant.
  • Funkcije za rad sa datumima. One značajno proširuju standardne, tako da funkcija WeekdayName vraća naziv (pun ili djelimičan) dana u sedmici po njegovom broju. Još korisniji je tajmer. Daje broj sekundi koje su protekle od ponoći do određene tačke u danu.
  • Funkcije za pretvaranje numeričkog argumenta u različite sisteme brojeva. Na primjer, Oct daje oktalni prikaz broja.
  • Funkcije formatiranja. Najvažniji od njih je Format. Vraća vrijednost tipa Variant s izrazom formatiranim prema uputama datim u deklaraciji formata.
  • itd.

Proučavanje svojstava ovih funkcija i njihove primjene značajno će proširiti opseg Excela.

Primjer 5

Pokušajmo prijeći na rješavanje složenijih problema. Na primjer:

Daje se papirni dokument izvještaja o stvarnom nivou troškova preduzeća. Obavezno:

  • razviti dio predloška koristeći Excel tabelu;
  • kreirajte VBA program koji će tražiti početne podatke za popunjavanje, izvršiti potrebne proračune i njima popuniti odgovarajuće ćelije šablona.

Razmotrimo jedno od rješenja.

Kreirajte šablon

Sve radnje se izvode na standardnom listu u Excel-u. Slobodne ćelije su rezervisane za unos podataka o nazivu preduzeća potrošača, visini troškova, njihovoj visini i prometu. Budući da broj kompanija (društva) za koje se sastavlja izvještaj nije fiksan, ćelije za unos vrijednosti na osnovu rezultata i punog imena specijaliste nisu unaprijed rezervirane. Radnom listu je dat novi naziv. Na primjer, "Օtchet".

Varijable

Da biste napisali program koji će automatski popunjavati predložak, morate odabrati notaciju. Oni će se koristiti za varijable:

  • NN - broj trenutnog reda tabele;
  • TP i TF - planirani i stvarni promet;
  • SF i SP - stvarni i planirani iznos troškova;
  • IP i IF - planirani i stvarni nivo troškova.

Označimo istim slovima, ali sa "prefiksom" Itog akumulacije ukupnog na datoj koloni. Na primjer, ItogTP se odnosi na kolonu tabele pod nazivom "planirani promet".

Rješavanje problema korištenjem VBA programiranja

Koristeći uvedenu notaciju, dobijamo formule za odstupanja. Ako je potrebno izvršiti obračun u%, imamo (F - P) / P * 100, a u iznosu - (F - P).

Rezultate ovih proračuna najbolje je odmah unijeti u odgovarajuće ćelije Excel tabele.

Za stvarne i prognozirane zbrojeve dobija se pomoću formula ItogP=ItogP + P i ItogF=ItogF+ F.

Za odstupanja koristite = (ItogF - ItogP) / ItogP * 100 ako se obračun vrši u procentima, au slučaju ukupne vrijednosti - (ItogF - ItogP).

Rezultati se ponovo odmah upisuju u odgovarajuće ćelije, tako da nema potrebe da ih dodjeljujete varijablama.

Prije pokretanja kreiranog programa, potrebno je da sačuvate radnu svesku, na primjer, pod imenom "Izvještaj1.xls".

Dugme "Kreiraj tabelu za izvještavanje" potrebno je pritisnuti samo 1 put nakon unosa informacija zaglavlja. Postoje i druga pravila kojih treba biti svjesna. Konkretno, dugme "Dodaj red" mora se kliknuti svaki put nakon unosa vrednosti za svaku aktivnost u tabeli. Nakon što unesete sve podatke, potrebno je da kliknete na dugme "Završi", a zatim se prebacite na prozor "Excel".

Sada znate kako riješiti probleme za Excel koristeći makroe. Mogućnost korištenja vba excel-a (pogledajte primjere programa iznad) može biti potrebna i za rad u okruženju trenutno najpopularnijeg uređivača teksta "Word". Konkretno, možete kreirati dugmad menija pisanjem, kao što je prikazano na samom početku članka, ili pisanjem koda, zahvaljujući kojem se mnoge operacije nad tekstom mogu izvršiti pritiskom na dežurne tipke ili preko kartice "Prikaz". i ikona "Makroi".

Često je teško onima koji nikada nisu programirali odmah pročitati primjere programa, prvo morate razumjeti osnovne principe, naučiti riječi kojima programeri rade. Ova stranica je posebno kreirana za početnike.

Dakle, šta su makroi i kako ih pisati?

Makroi su programi u Excel-u. Makroi mogu učiniti sve što korisnik može učiniti ručno. Oni su korisni za obradu podataka ili za automatizaciju standardnih radnji.

Makroi su napisani u VBA - Visual Basic za aplikacije. Ovu kraticu treba zapamtiti i koristiti u upitima za pretraživanje kada tražite informacije koje su vam potrebne. VBA je objektno orijentisan, hijerarhijski jezik. To znači da ćete morati upravljati objektima koji su međusobno podređeni. Na primjer, Excel radna knjiga je objekt. Ima listove, listovi imaju ćelije. Listovi, ćelije, opsezi i drugo su objekti. Podređenost se može grubo izjednačiti sa ugniježđenjem - na primjer, ćelija je ugniježđena u listu, a list je ugniježđena u knjizi.

Možete izvršiti brojne radnje s objektima, na primjer, otvoriti, aktivirati, odabrati, izbrisati, kopirati i još mnogo toga.

Objekti imaju svojstva. Na primjer, list može biti vidljiv ili skriven, aktivan ili neaktivan. Ćelija ima mnoga svojstva koja su također svima poznata: popunjavanje, ivice, boja i veličina teksta, poravnanje. Svojstva se, naravno, mogu mijenjati.

Dakle, objekti su "ugrađeni" jedan u drugi i imaju različita svojstva. Hajde da ih bolje upoznamo.

Ovdje nećemo iznositi cijeli spisak, jer je ogroman. Ograničićemo se na ono što je potrebno već u prvoj fazi.

Objekti:

Radna sveska - Excel radna sveska.

List - list.

Raspon - domet.

Ćelija - ćelija.

Red - niz.

Kolona - kolona.

Radnje sa objektima

Aktiviraj - aktiviraj, odnosno "stavi kursor". Možete aktivirati knjigu, list, ćeliju.

Odaberite - označite. Možete odabrati jedan ili više redova, jednu ili više kolona, ​​raspon ili ćeliju.

Izbrisati - izbrisati. Također možete izbrisati redove i stupce, opsege ćelija ili jednu ćeliju, list.

Kopija - kopija.

I odvojeno postoji akcija Zalijepi - zalijepi. Ako iza svih prethodnih radnji stoji riječ "šta?" (šta aktivirati, šta kopirati), zatim iza riječi paste slijedi pitanje "gdje?". Stoga, kada pišete program, morate odrediti ne šta ćete umetnuti, već gdje ćete umetnuti.

Osim pokretanja programa, Excel može "dati informacije" o datim komandama. Evo nekoliko primjera takvih naredbi:

Sheets.Count - vraća broj listova u knjizi.

Datum - vraća današnji datum kao niz.

Len("string") Vraća dužinu niza u broju znakova. U ovom primjeru, dužina je 6.

Sada moramo reći nekoliko riječi o tipovima podataka (varijable).

Za početak, dovoljno je znati jednu stvar: podaci mogu biti brojevi, ali mogu biti nizovi, odnosno tekst. Sa brojevima možete izvršiti neke radnje (dodavanje, itd.), sa nizovima - druge (prepoznati prvi znak, na primjer).

Sve vrijednosti stringova u VBA su napisane pod navodnicima. Svi naslovi/nazivi knjiga ili listova su tekst, odnosno vrijednost niza, tako da uvijek moraju biti stavljeni u navodnike.

I brojevi i nizovi se mogu dodijeliti varijablama.

Na primjer:

S="Bok"

Možete nadjačati vrijednosti varijabli, na primjer, ovako:

I=i+10

S=s & "mir!"

Nakon toga i=11 i s="Hello world!".

Ovdje smo suočeni s prvom operacijom nad vrijednostima niza. Znak & znači da se dva reda moraju spojiti. Redoslijed je važan: ako pišete

s=", svijet!" & s, dobijamo s=", svijet! Zdravo".

Pošto varijabla s već sadrži navodnike, ne morate je stavljati u navodnike kada je koristite. Naprotiv, odsustvo navodnika će reći Excelu da ga treba tretirati kao varijablu, a ne kao tekst. To jest, zapisi:

S="Zdravo svijete!"

H="Zdravo svijete!"

će dati isti rezultat - dodijeliti varijablu h vrijednost "Hello, world!"

Ali rekord

S="Zdravo svijete!"

H="s"

će dodijeliti vrijednost "s" varijabli h.

Moram reći da se objekti u Excelu ponekad pišu u jednini, ponekad u množini. Kako zapamtiti u kom slučaju šta se koristi? Možete koristiti ovo pravilo: sve što ima puno u Excelu piše se u množini, sve što je u jednom primjerku je u jednom. Excel ima puno knjiga, puno listova i puno ćelija. Svi su isti za Excel "Ja i možete ih razlikovati samo po imenu ili koordinatama. Stoga program koristi množinu. Na primjer:

Radne sveske("Knjiga1").Aktivirajte

Sheets("Sheet1").Kopiraj

Redovi(1).Izbriši

Ćelije su određene koordinatama: prva je broj reda, druga je kolona.

Na primjer, naredba

Ćelije(1,1).Aktiviraj

stavlja kursor u gornju lijevu ćeliju.

Na knjige i listove možete se "pozvati" ne samo po imenu, već i po broju. Najčešće je to potrebno upravo u radu s listovima, kada trebate sve razvrstati. Kada se odnosi na broj, broj ne mora biti stavljen u navodnike

Broj u jednini se koristi, na primjer, kada se odnosi na aktivnu ćeliju ili list, jer očigledno samo jedna ćelija ili list može biti aktivna. Na primjer, "zapamti" broj reda aktivne ćelije

I=ActiveCell.Row

Pozivajući se na objekt, nije uvijek potrebno specificirati punu putanju do njega: ako objekti višeg nivoa nisu specificirani, makro će se izvršiti na trenutno aktivnoj lokaciji.

Na primjer, naredba

Ćelije(1,1).Kopiraj

će kopirati gornju lijevu ćeliju na aktivnom listu.

Tim

Listovi("Sheet1").Ćelije(1,1).Kopiraj

će kopirati gornju lijevu ćeliju na listu "Sheet1", bez obzira da li je ovaj list trenutno aktivan ili ne.

Nakon toga, već možete pisati makroe :)

Ali pročitajte više o petlje i uslovni iskaz i onda o čemu zbirke objekata i šta nam oni mogu dati.

Šta je makro? Makro je sačuvani niz akcija ili program kreiran u VBA (Visual Basic za aplikacije). Uobičajeno pitanje je kako napisati makro u Excelu? Samo.

One. ako trebamo izvršiti iste radnje nekoliko puta, možemo zapamtiti te radnje i pokrenuti ih jednim gumbom. Neću vas prisiljavati da naučite VBA jezik, a neću ni predložiti mnogo standardnih makroa u ovom članku. U stvari, svako zaista može kreirati / napisati makro u Excelu. Da biste to učinili, postoji najzanimljivija i najneobičnija karakteristika Excela - makro snimač(snimanje vaših radnji u obliku koda). One. možete snimiti svoje radnje kao na videu i prevesti ih u kod (sekvencu).

Ukratko, ako izvodite iste radnje svaki dan, trebali biste smisliti kako automatizirati ovaj proces. Čitajte dalje, Kako napisati makro u Excelu?

1.Dozvoli korištenje makronaredbi

Meni (gornje lijevo okruglo dugme) - Excel opcije - Centar za pouzdanost - Opcije centra za pouzdanost - Makro opcije. Označite okvir "Omogući sve makroe".

Ili učinite isto na kartici Developer

2. Omogućite meni za programere za brz rad sa makroima

Meni (okruglo dugme u gornjem levom uglu) - Excel opcije - Opšte - Prikaži karticu za programere.

Da bi kreirani makro bio sačuvan u radnoj svesci, morate sačuvati datoteku u njoj .xlsm ili .xlsb. Kliknite na Sačuvaj kao - Excel radna sveska sa omogućenim makroima ili Binarna radna sveska.

Dakle, kako napisati makro u Excelu?

Sve je jednostavno. Idemo u Excel. Na dnu stranice, ispod kartica listova, nalazi se dugme "Snimi makro".

Pritisnite dugme, otvara se prozor "Snimanje makroa". Imenujte makro kako god želimo u polju Macro Name:. Postavljamo prečicu na tastaturi kojom ćemo je kasnije pozvati (opciono).

Kliknite OK. Započelo je snimanje Makro snimača.

Sve. Sada radimo akcije koje trebamo zapamtiti pomoću makroa. Na primjer, trebamo izbrisati jedan red i obojiti ćeliju A1 u žuto.

Prilikom ovih manipulacija, umjesto dugmeta "Snimi makro" ispod listova, svijetli kvadratić, klikom na koji zaustavljate izvršavanje makroa.

Kako pokrenuti ono što se dogodilo? Kliknite na dugme, pojaviće se prozor Odaberi makro, izaberite željeni makro, a zatim kliknite na dugme Pokreni.

Kako vidjeti šta se dogodilo? Pritisnite dugme. Odaberite željeni makro i kliknite uredi. Otvara se prozor za snimanje makroa (VBA prozor).

Makro kod bi trebao izgledati otprilike ovako.

PodPrimjer1() " Primjer1 Makro redovi("2:2").Odaberite odabir.Izbriši Shift:=xlUp Range("A1").Odaberite sa odabirom.Unutrašnjost .Uzorak = xlSolid .PatternColorIndex = xlAutomatic.Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 Kraj sa završnom podlogom

‘ je znak komentara, tj. ova linija ne učestvuje u kodu. Makro mora imati ime (Sub Primer1()) i završetak (End Sub).

Možete pročitati kako da kreirate dugme za makro.

Dakle, možete zapisati bilo koju svoju radnju, tako da ih možete ponoviti koliko god puta želite!

Možete pročitati kako da sačuvate makro za sve knjige na računaru.

Ovo se radi pomoću ličnog dosijea.

Kako pokrenuti makro po uslovu možete pročitati

Srećno, siguran sam da će vam se svidjeti!

Podijelite naš članak na svojim društvenim mrežama:

Objekti kao što su makroi u Excelu pomoći će da se kompetentno organizira proces rada u Excelu.

Razmotrimo detaljnije sve karakteristike rada sa ovim objektima u softverskom paketu MS Office.

Korištenjem makroa, svaka ćelija u vašem dokumentu može se automatizirati. To je zbog činjenice da korisnik bilježi sve radnje u trenutku njihovog kreiranja.

Šta su makroi i zašto su potrebni

Možete raditi sa makroima u bilo kojem od MS Office programa. Prije svega, potrebni su kako bi se kompetentno organizirao rad korisnika u programu.

Neophodni su kako se iste vrste zadataka i radnji ne bi izvodile nekoliko desetina puta.

Njihovo kreiranje i korištenje pomoći će da se značajno uštedi vrijeme i maksimalno automatizira rad u programu.

Bitan! Zahvaljujući kreiranom makrou, možete jednostavno odmah obaviti posao, dok bi ručni rad oduzeo dosta vremena.

Njegovo tijelo se, zapravo, sastoji od instrukcija koje govore programu šta da radi ako korisnici izaberu jedno ili drugo.

Koncept makronaredbe se može sresti i u programu Word, ali u Excelu ima nekoliko prednosti:

  • Prvo, kombinuje sve instrukcije u jednu kompletnu skriptu za izvršavanje, što vam omogućava da optimizujete opterećenje programa i počnete da radite brže;
  • Možete ga pozvati pomoću tipke na alatnoj traci ili pomoću posebne kombinacije tipki. Ovo će omogućiti korisniku da se ne odvoji od tastature tokom rada;

Kreiranje vlastitih makroa u Excelu 2010, 2007, 2013

Razmotrimo detaljnije primjere kreiranja u Excelu 2007, 2013:


  • Otvorite dokument sa kojim radite i za koji želite da kreirate makro. Usput, svaka ćelija na kojoj se izvodi radnja mora biti razrađena;
  • Prikažite karticu programera na traci. Da biste to učinili, otvorite stavku menija "Datoteka" i otvorite opcije, kao što je prikazano na slici;

  • Zatim odaberite prilagođavanje trake i dodajte prozor programera na listu glavnih prozora, kao što je prikazano na slici ispod;

  • Sada možete ići direktno na kreiranje samog korisničkog makroa. Nakon kreiranja, svaka ćelija će biti automatizovana - to znači da će svaka ćelija u korisničkom dokumentu izvršiti istu vrstu radnje koju korisnik odredi;
  • Pronađite na kartici programera poseban ključ za kreiranje. Njegova lokacija je prikazana na donjoj slici;

  • Kliknite na ključ. Pojavit će se prozor za kreiranje u kojem morate navesti ime, prečicu na tastaturi pomoću koje će se uključiti. Također možete dodati kratak opis kako makro funkcionira. To morate učiniti ako ih imate previše, kako se ne biste zbunili;

  • Zatim kliknite na "OK". Prozor će se zatvoriti i započeti proces snimanja. Da biste zaustavili snimanje, pritisnite odgovarajući taster na kontrolnoj tabli;
  • Sada počnite izvoditi radnje koje će biti zabilježene u makrou. Svaka ćelija može biti popunjena određenim podacima.
    Takođe možete raditi samo sa jednom ćelijom, nakon snimanja i omogućavanja makroa, ista ćelija će biti snimljena prema navedenom algoritmu;
  • Ne zaboravite da pritisnete dugme za zaustavljanje snimanja podataka. Nakon završetka svih gore navedenih koraka, biće snimljen i sačuvan u programu.

Kako omogućiti i raditi s makroima u Excelu

Da biste to učinili, slijedite upute u nastavku:


  • Na kartici za programere potražite dugme pod nazivom "Makroi". Kliknite na njega;

  • Odaberite makro koji vam je potreban sa liste i kliknite na dugme "Pokreni";
  • Također možete pokrenuti potreban makro koristeći prečicu na tipkovnici koju je odredio korisnik u početnoj fazi njegovog kreiranja;
  • Nakon klika na dugme Izvrši, ponovo će se izvršiti sve radnje koje su izvršene tokom snimanja.

Makro je najbolje koristiti kada određenu ćeliju treba više puta kopirati.

Kreiranje i brisanje makroa

Makroi se kreiraju pomoću programskog jezika koji se zove Visual Basic (ili samo skraćenica VB).

Istovremeno, proces kreiranja je toliko automatizovan da ga može kreirati čak i korisnik koji se nikada nije susreo sa programiranjem.

Po prvi put je poboljšana tehnologija za kreiranje makronaredbi u Excelu i postala je dostupna običnim korisnicima u verziji iz 2007.

Najpogodnije ih je kreirati u sljedećim verzijama Worda: 2007, 2010, 2013.

Makro meni

Makro se sastoji od takozvanih makro naredbi. Makro izjave - ovo je skup radnji koje mora izvršiti redoslijedom koji je odredio korisnik.

Postoje različite vrste operatera.

Neki čak mogu izvoditi one radnje koje su povezane sa izvršenjem.

Istovremeno, gotovo devedeset posto svih makro operatora predstavljenih u programu obavlja funkcije običnih dugmadi i ikona na programskoj traci s alatima.

Na taj način će svaka ćelija raditi svoj posao.

Najlakši način da počnete kreirati vlastiti prilagođeni makro je da otvorite diktafon.

Proces kreiranja se svodi na činjenicu da korisnik treba pokrenuti alat za snimanje, a zatim ponoviti sve korake koji bi trebali biti automatizirani.

Makro će ih prevesti u programski jezik i zapamtiti sve naredbe koje je izvršio korisnik.

Da biste uklonili makro, slijedite upute:


  1. Otvorite kontrolni prozor pomoću tipke "Macros" na glavnoj kartici programera;
  2. Izaberite objekat koji vam je potreban i kliknite na dugme za brisanje u desnom delu prozora;

Tema 2.3. Softver za prezentacije i osnovno kancelarijsko programiranje

Tema 2.4. Sistemi upravljanja bazama podataka i ekspertni sistemi

2.4.11. Baza podataka obuke sa glavnim dugmetom obrasca "Training_students" - Download

VBA programiranje i makroi

2.3. Softver za prezentacije i osnovno kancelarijsko programiranje

2.3.7. Osnove uredskog programiranja

Visual Basic za aplikacije: Visual Basic za aplikacije (VBA)

VBA je podskup Visual Basic (VB) vizuelnog programskog jezika koji uključuje skoro sve alate za kreiranje VB aplikacija.

VBA se razlikuje od VB programskog jezika po tome što je VBA sistem dizajniran da radi direktno sa Office objektima i ne možete kreirati projekat u njemu nezavisno od Office aplikacija. Tako je u VBA programski jezik VB, a programsko okruženje je implementirano kao VB editor, koji se može aktivirati iz bilo koje MS Office aplikacije.

Na primjer, da biste otvorili VBA editor iz PowerPoint aplikacije, potrebno je izvršiti naredbu Alati / Makro / VBA Editor. Možete se vratiti iz uređivača u aplikaciju odabirom komande Microsoft PowerPoint iz menija Pogled ili pritiskom na Alt + F11.

Koristeći skup kontrola ugrađenih u VBA editor i uređivač obrazaca, korisnik može kreirati korisnički interfejs za razvijeni projekat sa ekranskom formom. Kontrole su objekti i za svaki objekat je definiran niz mogućih događaja (na primjer, klik mišem ili dvostruki klik, pritisak tipke, objekat koji se prevlači, itd.).

Svaki događaj se manifestuje u određenim radnjama programa (odgovori, reakcije). Korisnički obrazac vam omogućava da kreirate dijaloške okvire aplikacije. Programski jezik VBA se koristi za pisanje programskog koda, kao što je kreiranje korisnički definisanih funkcija u Excel-u.

Činjenica da je VBA programski sistem dizajniran za rad sa Office objektima omogućava da se efikasno koristi za automatizaciju aktivnosti povezanih sa razvojem različitih vrsta dokumenata.

Razmotrite algoritam za kreiranje korisničkih funkcija u VBA:

1. Pozovite prozor za uređivanje VBA koda tako što ćete izvršiti naredbu Service / Macro / Visual Basic Editor ili pritisnuti Alt+F11.

2. Pokrenite stavku menija uređivača Insert / Module (Insert / Module).

3. Zatim izvršite Umetanje / Procedura (Insert / Procedure). U dijalogu Dodaj proceduru koji se otvori unesite naziv funkcije (na primjer, SUMMA5) i postavite prekidače: Tip (tip) - na poziciju Funkcija (funkcija); Opseg (Opseg definicije) - na poziciji Javno (Općenito) i kliknite na OK.


Rice. jedan.

4. U prozoru uređivača VBA programiranja pojavit će se praznina funkcija: naslov je Javna funkcija SUM5(), a završetak je Kraj funkcija, između kojih se mora smjestiti kod tijela funkcije.


Rice. 2.

5. Zatim unosimo listu parametara funkcije, na primjer, označavamo u zagradama (x, y, z, i, j), tip podataka (za tačne proračune) i tip vrijednosti koju vraća funkcija ( nećemo unositi u ovaj primjer). Osim toga, uvodimo tijelo funkcije, na primjer, SUM5 = x + y + z + i + j. Kao rezultat dobijamo sledeći tekst programa:

Javna funkcija SUM5(x, y, z, i, j)
ZBIR5 = x + y + z + i + j
end funkcija

6. Vraćamo se na prozor aplikacije Excel, u kojem, na primjer, trebamo sabrati pet vrijednosti.

7. Izvršavamo "Insert / Function" i u prozoru čarobnjaka funkcija koji se otvori, biramo kategoriju "User-defined", a u prozoru "Select a function" biramo SUM5 i kliknemo OK.



Rice. 3.



Rice. 4.

Makroi

Kreiranje makroa

Kreirajmo makro da automatski dodamo dva broja u ćelije A1, B1 i stavimo rezultat u ćeliju C1, kao i da popunimo ćeliju C1 tirkiznom bojom.

Algoritam za kreiranje makronaredbe za zadatak:

1. Odaberite Alati/Makro, Pokreni snimanje.

2. U polje Ime makroa unesite ime za makro. Prvi znak imena makroa mora biti slovo. Razmaci nisu dozvoljeni u imenu makroa; Podvlake se mogu koristiti kao separatori riječi.

3. Da biste pokrenuli makro pomoću prečice na tastaturi, unesite slovo u okvir Prečica na tastaturi. Možete koristiti CTRL+ slovo (za mala slova) ili CTRL+SHIFT+ slovo (za velika slova), gdje je slovo bilo koje slovo na tastaturi. Nemojte birati podrazumevanu prečicu na tastaturi, jer izabrana prečica na tastaturi zamenjuje standardne prečice na tastaturi u Microsoft Excelu u to vreme sa ovom radnom sveskom.

4. U polju „Sačuvaj“ izaberite radnu svesku u koju želite da sačuvate makro. Sačuvajte makro u "Ovu knjigu". Da biste kreirali kratak opis makroa, unesite traženi tekst u polje Opis. Snimak ekrana prikazuje primjer popunjavanja dijaloškog okvira "Snimi makro".


Rice. 5.

5. Kliknite OK.

6. Pokrenite makronaredbe koje želite snimiti.


Rice. 6.

7. Kliknite na dugme Zaustavi snimanje na plutajućoj traci sa alatkama OS (Zaustavi snimanje) ili Alati / Makro / Zaustavi makro.

Kada je makro snimljen, pojavljuje se na listi makroa pod svojim imenom.

VBA editor automatski snima niz makro komandi ili programa prema izvršenim radnjama (slika 7.).



Rice. 7.

Da biste pozvali makro, morate izvršiti naredbu Service / Macro / Macros. Nakon toga, u dijaloškom okviru sa listom makroa, možete ga pronaći po imenu i kliknuti na dugme Pokreni.

Dodjeljivanje dugmeta na traci sa alatkama za pokretanje makroa

Makro se može pokrenuti pomoću dugmeta na ugrađenoj alatnoj traci, za to morate pokrenuti:

  1. Odaberite Postavke iz menija Alati.
  2. U dijaloškom okviru Prilagodi, odaberite karticu Komande i odaberite opciju Makroi na listi kategorija, a zatim odaberite Prilagođeno dugme na listi Komande.
  3. Sa liste komandi, koristite miš da prevučete prilagođeno dugme na traku sa alatkama.
  4. Kliknite desnim tasterom miša na ovo dugme i izaberite Dodeli makro iz kontekstnog menija.
  5. Unesite naziv makroa u polje Ime makroa.

Dodjeljivanje područja grafičkog objekta za pokretanje makronaredbe:

  1. Kreirajte grafički objekat.
  2. Na odabrani grafički objekt primijenite kontekstni meni.
  3. Odaberite Dodijeli makro iz kontekstnog izbornika.
  4. U dijaloškom okviru Dodijeli makro objektu koji se pojavi, unesite naziv makroa u polje Ime makroa, a zatim kliknite na OK.

Uređivanje makroa vrši VBA editor, za to morate uraditi sljedeće:

  1. Odaberite naredbu Alati / Makro / Makroi.
  2. Izaberite ime makroa koji želite da promenite sa liste Ime.
  3. Pritisnite dugme Uredi, otvoriće se prozor Visual Basica u kojem možete uređivati ​​komande izabranog makroa, napisane na jeziku Visual Basic.


Brisanje makronaredbe:

  1. U meniju Alatke postavite pokazivač na Makro, a zatim kliknite na Makroi.
  2. Na listi makroa u trenutnoj radnoj svesci izaberite makro koji želite da izbrišete i kliknite na dugme Izbriši.

Preimenovanje makroa

Da biste preimenovali makro, uđite u režim za uređivanje makroa i promenite naslov u tekstu programa. Novo ime će automatski zamijeniti staro na listama makroa, a makro s novim imenom će se pozvati pomoću tipki prečica.

Top Related Articles