RačunalaSoftver

VBA Excel: primjeri programa. Makroi u Excel

Malo ljudi zna da je prva verzija popularnog Microsoft Excel proizvod pojavio u 1985. Od tada je prošla kroz nekoliko izmjena i potražnje miliona korisnika širom svijeta. Međutim, samo puno rada sa malo mogućnosti ovog proračunske tablice i ne znaju kako bi mogli olakšati život sposobnost da Excel programa.

Što je VBA

Programiranje u Excel vrši Visual Basic for Application programski jezik koji je prvobitno izgrađena u najpoznatijim proračunske tablice iz Microsofta.

Njegovim zaslugama stručnjaci pripisuju relativno lako razvoja. Kao što praksa pokazuje, VBA može savladati osnove, čak i korisnici koji nemaju profesionalno programiranje vještine. Za VBA karakteristike uključuju izvršavanje skripte u okruženju Office aplikacijama.

Nedostatak programa su problemi u vezi sa kompatibilnost različitih verzija. Oni su uzrokovane činjenicom da je VBA kod programa se odnosi na funkcionalnost koja je prisutna u novoj verziji proizvoda, ali ne u staru. Tu je i veliki nedostatak i previsokih otvorenost koda promijeniti lice stranca. Međutim, Microsoft Office, i IBM Lotus Symphony omogućava korisnicima da se prijave postavke enkripcije unos koda i lozinku da biste je vidjeli.

Objektima, zbirke, svojstva i metode

To je sa ovim konceptima morate razumjeti one koji će raditi u VBA okruženju. Prije svega, morate shvatiti što je objekt. U programu Excel, u smislu ovog Zakona, kao list, knjiga, i niz ćelija. Ovi objekti imaju posebne hijerarhije, i.e. slušaju jedni druge.

Glavni među njima je i aplikacija, odgovarajući Excel samog programa. Pratio Radne sveske, radni listovi, i Range. Na primjer, da se odnosi na ćeliju A1 na određenu list mora pokazati put, uzimajući u obzir hijerarhije.

Što se tiče koncept "kolekcije", ova grupa objekata iste klase, u kojem je snimanje dat ChartObjects. Njegova elementi su također objektima.

Sljedeća stvar - svojstva. Oni su neophodna osobina svakog objekta. Na primjer, za Range - je vrijednost ili formulu.

Metode - je komanda da se pokaže da želite da. Prilikom pisanja koda u VBA da se odvoji od tačke objekta. Na primjer, kao što će biti prikazano kasnije, vrlo često prilikom programiranja u komandu "Excel" upotrebu Ćelije (1,1) .Select. To znači da je potrebno da odaberete ćeliju sa koordinatama (1,1), i.e. A1.

Međutim, često se koristi Selection.ClearContents. Njegova implementacija je čišćenje sadržaj izabrane ćelije.

Kako započeti

Prije svega, želite stvoriti datoteku i spremite ga dodijeliti ime i izaberite vrstu «Book Excel makro-omogućen."

Zatim idite u aplikaciju VB, što je dovoljno da se koristi kombinacija «Alt» ključ i "F11". Sljedeće:

  • u traci izbornika na vrhu prozora, kliknite na ikonu pored ikone Excel;
  • Mudule odabrane komande;
  • držati klikom na ikonu s disketa;
  • pisati, recimo, kod obris.

To izgleda ovako:

Izmjene programa ()

'Naš kodeks

End Sub

Imajte na umu da je linija "Naša kod" će biti istaknuta u drugoj boji (zeleni). Razlog za to apostrof, dostavljena na početku niza, što ukazuje na to da ono što slijedi je komentar.

Sada možete pisati bilo koji broj i stvoriti za sebe novi alat u VBA Excel (vidi primjere programa itd.). Naravno, oni koji su upoznati sa osnovama Visual Basic, to će biti mnogo lakše. Međutim, čak i oni koji nemaju, ako želite biti u mogućnosti da biste dobili udoban vrlo brzo.

Makroi u Excel

Iza ovog naziva krije programa pisanih u Visual Basic za jezik aplikacije. Dakle, programiranje u Excel - je stvaranje makro do željene koda. Uz ovu mogućnost, Microsoft tabelarni samostalno razvija, prilagođavajući se zahtjevima pojedinog korisnika. Pošto se bavio kako kreirati module za pisanje makroa, moguće je da se nastavi sa konkretnim primjerima VBA Excel programa. To je najbolje da se počne sa najosnovnijim kodova.

PRIMJER 1

Zadatak: Napišite program koji će kopirati vrijednosti sadržaja jedne ćelije, a zatim pisati u drugu.

Da bi se to učiniti:

  • otvorite karticu "View";
  • potez ikonu "makroa";
  • tresti na "Record Macro";
  • popuniti otvorio formu.

Radi jednostavnosti, u "Macro Name" ostaviti "Makros1" iu "Shortcut key" je umetnuta, na primjer, hh (to znači da možete pokrenuti primjer program će biti «Ctrl + h» blitz tim). Pritisnite Enter.

Sada kada ste počeli snimanje makro, čine sadržaj ćelije u drugu. Povratak na originalnu ikonu. Kliknite na "Record Macro". Ova akcija označava završetak apleta.

Sljedeće:

  • ponovo kreće na niz "Makro";
  • je izabran na listi "Makro 1";
  • kliknite na "Run" (isti Akcija počinje Lansiran prečice «Ctrl + hh»).

Kao rezultat toga, akciju koja je izvršena tokom snimanja makro.

Ima smisla da vidim kako kod izgleda. Da biste to učinili, vratite se na niz "Makro" i kliknite na "Edit" ili "Enter". Kao rezultat toga, oni se nađu u VBA okruženju. Zapravo, sama kod nalazi se između redova makro Makros1 Izmjene () i End Sub.

Ako je izvršena kopiranje, na primjer, iz ćelije A1 u ćeliji C1, jedna od linija koda će izgledati Range ( "C1"). Select. U prevodu, to izgleda kao "Range (" C1 "). Odaberite", drugim riječima, čini prelazak na VBA Excel, u ćeliji C1.

Aktivni dio koda završi ActiveSheet.Paste tim. To znači snimanje sadržaja izabrane ćelije (u ovom slučaju, A1) u izabrane ćelije C1.

PRIMJER 2

VBA ciklusa pomoći stvoriti različite makroe u Excel.

VBA ciklusa pomoći stvoriti različite makroe. Pretpostavimo da postoji funkcija y = x + x 3 + 3x 2 - cos (x). Želite stvoriti makro za grafiku. To se može učiniti samo pomoću VBA ciklusa.

Za početne i konačne vrijednosti argumenta funkcije uzeti x1 = 0 i x2 = 10. Osim toga, potrebno je uvesti konstantnu - vrijednost za korak mijenja argument i početna vrijednost za brojač.

Svi primjeri VBA Excel makroa su kreirane istim postupkom kao što je navedeno gore. U ovom konkretnom slučaju, kod izgleda ovako:

Izmjene programa ()

x1 = 1

x2 = 10

shag = 0,1

i = 1

Da Dok x1

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

Cells (i, 1) .value = x1 (x1 vrijednost napisana u memoriji sa koordinatama (i, 1))

Cells (i, 2) .value = y (y vrijednost je napisano u ćeliji s koordinatama (i, 2))

i = i + 1 (važi count);

x1 = x1 + shag (argument se mijenja veličina koraka);

petlja

End Sub.

Kao rezultat ove staze makro "Excel" dobije dvije kolone, od kojih je prvi su snimljene vrijednosti za x, a drugi - na y.

Zatim zakazati stanju izgraditi na njima, standard za "Excel".

PRIMJER 3

Za implementaciju ciklusa u VBA Excel 2010, kao iu drugim verzijama, uz već smanjena Do Dok dizajn koristi.

Uzmite u obzir program koji stvara kolona. U svakoj ćeliji će biti snimljena trgovima odgovarajući broj linija. Za korištenje dizajna će omogućiti da se vrlo kratko snimanje, bez upotrebe kontra.

Prvo je potrebno da se stvori makro, kao što je opisano gore. Dalje, pišu samog koda. Vjerujemo da smo zainteresovani vrijednosti za 10 ćelija. Kod je kako slijedi.

Za i = 1 do 10 Sljedeća

Komanda se prenosi na "ljudski" jezik, što je "ponavlja od 1 do 10 u koracima od jednog."

Ako je zadatak da dobije stupac s trgovima, na primjer, sve čudno integers između 1 i 11, pišemo:

Za i = 1 do 10 korak 1 Next.

Evo, korak - korak. U ovom slučaju, to je jednako dva. Po defaultu, odsustvo riječ u petlji znači da je jedan korak.

Rezultati moraju biti pohranjeni u ćeliji broj (i, 1). Onda svaki put kada pokrenete ciklus sa povećanjem vrijednosti i korak će automatski raste i broj linija. Dakle, neće biti optimizacija koda.

U principu, kod će izgledati ovako:

Izmjene programa ()

Za i = 1 do 10 Korak 1 (može pisati samo za i = 1 do 10)

Cells (i, 1) .value = i ^ 2 (i.e. kvadratna vrijednost je napisano u ćeliju (i, 1) i)

Slijedeća (u smislu igra ulogu kontra sredstava i drugi početak ciklusa)

End Sub.

Ako se uradi ispravno, uključujući snimanje i trčanje makroa (vidi. Instrukcije gore), onda se to zove svaki put dati veličine će se dobiti kolona (u ovom slučaju koji se sastoji od 10 ćelija).

PRIMJER 4

U svakodnevnom životu, vrlo često je potrebno da se ovaj ili onaj odluku ovisno o nekim uvjetima. ne mogu bez njih u VBA Excel. Primjeri programa u kojima se bira dalji tok algoritma umjesto prvobitno predodređen, najčešće se koristi dizajn If ... Then (za teške slučajeve) If ... Then ... End If.

Razmislite o konkretnom slučaju. Pretpostavimo da želite stvoriti makro za "Excel" u ćeliju s koordinatama (1,1) zabilježena je:

1 ako je argument je pozitivan;

0 ako je argument je nula;

1, ako je argument je negativan.

Stvaranje takve makro za "Excel" počinje na standardan način, kroz upotrebu "vruće" tipke Alt i F11. Dodatni pisani sljedeći kod:

Izmjene programa ()

x = Cells (1, 1) .value (Ova naredba dodjeljuje vrijednost x koordinata sadržaja ćelije (1, 1))

Ako je x> 0 onda Cells (1, 1) .value = 1

Ako je x = 0 Then Cells (1, 1) .value = 0

Ako je x <0 Tada Cells (1, 1) .value = -1

End Sub.

Ostaje za pokretanje makro i ulazi u "Excel" željenoj vrijednosti za argument.

VBA funkcije

Kao što ste možda primijetili, u najpoznatijim programa Microsoft proračunske tablice aplikacija nije previše teško. Pogotovo ako ste naučili kako koristiti VBA funkcije. U ukupno, ovaj programski jezik stvoren posebno za pisanje aplikacija u "Excel" i Word, oko 160 funkcija. Oni se mogu podijeliti u nekoliko velikih grupa. To su:

  • Matematičkih funkcija. Primjenjujući ih na argument vrijednosti kosinus se dobija, prirodni logaritam, i tako cijeli dio.
  • Finansijske funkcije. Zbog svoje dostupnosti i korištenja programiranje u Excelu, možete dobiti efikasna sredstva za računovodstvo i financijske naselja.
  • obrade niz funkcija. To uključuje Array, IsArray; LBound; UBound.
  • VBA Excel funkcionirati za liniju. Ovo je prilično velika grupa. To uključuje, na primjer, prostor funkcija stvoriti niz sa brojem nedostataka jednak cijeli broj argument ili Asc transfere simbola ANSI kodu. Svi oni su naširoko koristi i omogućiti vam da rade sa konce u "Excel" stvoriti puno lakše raditi s ovim tabelama aplikacijama.
  • tip podataka funkcija konverzije. Na primjer, Cvar vraća Expression argument, pretvarajući ga u Variant tip podataka.
  • Datum funkcije. Oni u velikoj mjeri proširiti standardne karakteristike "Excel". Dakle, WeekdayName funkcija vraća ime (potpuno ili djelimično) dana u tjednu po broju. Čak i više koristan je Timer. On daje broj sekundi koliko je prošlo od ponoći na određeni trenutak dana.
  • Funkciju za konverziju numerički argument u različitim sistemima broj. Na primjer list izlazi u oktalni zastupljenosti broja.
  • oblikovanje funkcije. Najvažniji od njih je format. To vraća Varijanta sa izrazom formatirani u skladu sa uputstvima datim u opisu formata.
  • i tako dalje.

Studija svojstava ove funkcije i njihova primjena će značajno proširiti opseg "Excel".

PRIMJER 5

Hajde da pokušamo riješiti složenije probleme. Na primjer:

Dan papir dokument stvarni nivo troškova izvještaja preduzeća. zahtijeva:

  • razvija svoje obrazac dio od proračunske tablice "Excel";
  • napraviti VBA program koji će tražiti sirove podatke da ga ispuniti, da izvrši potrebne proračune i popuniti obrazac odgovarajuće ćelije.

Razmotrimo jedan od sljedećih rješenja.

Stvaranje predloška

Sve akcije se izvode na standardnom list u Excelu. Slobodna polja rezervisan za unos podataka na mjesec, godinu, naslov-potrošača kompanija, iznos troškova, njihov nivo prometa. Kako je broj kompanija (kompanije), u odnosu na koji se izvještaj nije snimljena, ćelije da bi se na osnovu vrijednosti i profesionalno ime nije rezervisan unaprijed. Radni list dobio novo ime. Na primjer, "Օ Izvještaj".

varijable

Da napiše program automatski popuniti obrazac, odaberite zapis. Oni će se koristiti za varijable:

  • NN- broj trenutnog reda tabele;
  • TP i TF - planiranog i stvarnog prometa;
  • SF i SP - stvarne i planirane ukupne troškove;
  • IP i IF - planirana i nivo stvarnih troškova.

Označimo po istim slovima, ali sa "prefiks» itog akumulacije ukupno za taj stupac. Na primjer, ItogTP - S obzirom na kolonu pod nazivom kao "planiranog prometa."

Rješenje problema pomoću VBA programiranje

Koristeći ovu notaciju, dobijamo formulu za varijance. Ako želite da izvrši obračun u% imamo (F - P) / P * 100, a u iznosu od - (F - P).

Rezultati ovih proračuna može biti najbolje samo da bi "Excel" proračunske tablice u odgovarajuće ćelije.

Za ishod i prognozu, u stvari, dobiveni formulama ItogP = ItogP + P i ItogF = ItogF + F.

Odstupanja koristiti = (ItogF - ItogP) / ItogP * 100 ako proračun se vrši kao postotak, a ako je ukupna vrijednost - (ItogF - ItogP).

Rezultati ponovo evidentiraju u odgovarajuće ćelije, tako da nema potrebe da ih dodijeliti varijabli.

Pre nego što počnete da se stvori program koji želite da sačuvate svesku, na primjer, pod nazivom "Otchet1.xls".

Press "Create sto izvještavanja", morate pritisnuti samo 1 put nakon ulaska informacije u zaglavlju. Trebalo bi da znate i druga pravila. Konkretno, na dugme "Dodaj liniju" mora biti pritisnuta svaki put nakon ulaska u tabelu vrijednosti za svaku aktivnost. Nakon unosa svih podataka potrebno pritisnuti tipku "Finish", a zatim se prebacite na "Excel" u prozoru.

Sada kada znate kako riješiti problem za Excel sa makroima. Sposobnost da koriste VBA excel (vidi primjere programa. Gore), a možda će biti potrebno za rad u okruženju od najpopularnijih u ovom trenutku, tekst editor "Word". Konkretno, od snimanja, kao što je prikazano na početku ovog članka, ili pisanja koda za stvaranje tipke izbornika kroz koje su mnogi od operacije na tekst može izvršiti pritiskom tipke na dužnosti ili putem ikone "View" i "Makro" tab.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.birmiss.com. Theme powered by WordPress.