RačunalaSoftver

VBA Excel: primjeri programa. Makronaredbe u Excelu

Malo ljudi zna da je prva verzija popularnog Microsoft Excel proizvodu pojavio 1985. godine. Od tada je doživjela nekoliko izmjena i potražnje milijuna korisnika širom svijeta. Međutim, samo mnogi rade s malo mogućnosti ovog tablice i uopće ne znam kako bi to moglo olakšati život sposobnosti u Excel programa.

Što je VBA

Programiranje u Excelu je to učinio Visual Basic for Applications programski jezik koji je izvorno sagrađena u najpoznatijoj tablice iz Microsofta.

Na svoje sposobnosti stručnjaci pripisuju relativnu jednostavnost razvoja. Kao što praksa pokazuje, VBA može svladati osnove, čak i korisnicima koji nemaju profesionalne vještine programiranja. Za VBA značajke uključuju izvršavanje skripti u uredu primjene okoliš.

Nedostatak programa su problemi povezani s kompatibilnosti 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 stare. Tu je i veliki nedostatak i pretjerano visoka otvorenost koda za promijeniti lice stranca. Međutim, Microsoft Office i IBM Lotus Symphony omogućuje korisnicima da se postavke za šifriranje unos koda i lozinku da biste je vidjeli.

Predmeti, zbirke, svojstva i metode

To je s tim pojmovima morate razumjeti one koji idu na posao u VBA okruženju. Prije svega, morate shvatiti što je objekt. U programu Excel, u tom činu kao list, knjiga, i raspon ćelija. Ovi objekti imaju posebnu hijerarhiju, tj slušaju jedni druge.

Glavni među njima je aplikacija, odgovarajući Excel programa sama. Slijede radne knjige, radni listovi, a raspon. Na primjer, da se odnosi na ćeliji A1 na određenu list mora pokazati put, uzimajući u obzir hijerarhiju.

Što se tiče koncepta „zbirku”, ova grupa objekata iste klase, u kojem je snimanje određenog ChartObjects. Njezini elementi su također predmeti.

Sljedeća stvar - svojstva. Oni su nužan dio svake objekta. Na primjer, za raspon - je vrijednost ili formulu.

Metode - je naredba pokazati da želite napraviti. Prilikom pisanja koda u VBA da budu odvojeni od objekta točke. Na primjer, kao što ćemo vidjeti kasnije, vrlo često kod programiranja u naredbi „Excel” koriste stanice (1,1) .Odaberite. To znači da je potrebno odabrati stanicu koordinata (1.1), tj A1.

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

Kako početi

Prije svega, želite stvoriti datoteku i spremite je, dodijeliti naziv i odaberite vrstu «Book Excel makro-omogućen.”

Zatim idite na VB aplikacija, što je dovoljno za korištenje kombinaciju «Alt» ključ i «F11». Sljedeća:

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

Izgleda kako slijedi:

Potprograma ()

„Naš kod

end Sub

Imajte na umu da je linija „„Naš kod”će biti označen u različite boje (zeleno). Razlog za ovaj apostrof, dostavljena na početku niza, što ukazuje da je 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 s osnovama Visual Basic, to će biti puno lakše. Međutim, čak i oni koji nemaju, ako želite biti u mogućnosti da biste dobili udoban prilično brzo.

Makronaredbe u Excelu

Iza ovog naziva krije programi pisani u Visual Basic za jezik prijavu. Dakle, programiranje u Excel - je stvoriti makronaredbu sa željenim koda. Uz ove mogućnosti, Microsoft proračunske tablice samostalno razvija, prilagođavajući se zahtjevima pojedinog korisnika. Nakon što se bavila kako napraviti module za pisanje makronaredbe, moguće je nastaviti s konkretnim primjerima VBA Excel programa. To je najbolje početi s najosnovnijim kodova.

Primjer 1

Zadatak: Napišite program koji će kopirati vrijednost sadržaja jednu ćeliju, a zatim napisati u drugu.

U tu svrhu:

  • otvorite karticu „Prikaz”;
  • premjestiti ikonu „makroa”;
  • tresti na „Record Macro”;
  • popuniti otvorena obrazac.

Radi jednostavnosti, u „Macro ime” napustiti „Makros1” iu „prečac tipku” 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 snimati makro, čine sadržaj ćelije u drugu. Povratak na izvorni ikone. Kliknite na „Snimi makro”. Ova akcija obilježava završetak appleta.

Sljedeća:

  • opet kreće na niz „Makro”;
  • je odabran u popisu „Macro 1”;
  • kliknite na „Run” (ista akcija počinje Pokrenut prečac tipke «Ctrl + HH»).

Kao rezultat toga, radnja koja je izvršena tijekom snimanja makro.

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

Ako je izvršeno kopiranje, na primjer, iz ćelije A1 u ćeliji C1, jedna od linija koda će izgledati Range ( „C1”). Odaberite. U prijevodu, to izgleda kao „Raspon (” C1 „). Odaberite”, drugim riječima, čini prijelaz VBA Excel, u ćeliji C1.

Aktivni dio koda dovrši ActiveSheet.Paste tim. To znači snimanje sadržaj odabrane stanice (u ovom slučaju, A1) u odabranom stanica C1.

Primjer 2

VBA ciklusi pomoći stvoriti različite makronaredbe u programu Excel.

VBA ciklusi pomoći stvoriti različite makronaredbe. Pretpostavljaju da je funkcija y = x + 3 x + 3x 2 - cos (x). Želite li stvoriti makronaredbu za svoje grafike. To se može učiniti samo pomoću VBA ciklusa.

Za početne i konačne vrijednosti argumenata funkcije uzeti x1 = 0 i x2 = 10. Nadalje, potrebno je uvesti konstanta - vrijednost za korak mijenja argument i početnu vrijednost brojača.

Svi primjeri VBA Excel makronaredbe su stvorene pomoću istog postupka kao što je gore navedeno. U ovom konkretnom slučaju, kod izgleda ovako:

Pod PROGRAM ()

x1 = 1

x2 = 10

shag = 0,1

i = 1

Da Dok x1

y = x1 + x1 ^ 2 + 3 x 1 x ^ 3 - Cos (1 x)

Stanice (i, 1) .Value = x1 (x1 vrijednost napisan u memoriju s koordinatama (i, 1))

Stanice (I, 2) y = .Value (y vrijednost je pisano u ćeliji s koordinatama (l, 2)) i

i = i + 1 (vrijedi count);

x1 = x1 + shag (argument mijenja s veličinom koraka);

petlja

End Sub.

Kao rezultat ovog run makro „Excel” dobiti dva stupca, od kojih je prva su snimljene vrijednosti za X i drugi - na y.

Zatim raspored moći graditi na njima, standard za „Excel”.

Primjer 3

Za provedbu ciklusa u VBA Excel 2010, kao i na drugim verzijama, uz već smanjene učiniti dok dizajn koristi za.

Razmislite program koji stvara stupac. U svakoj stanici će biti zabilježen kvadrata odgovarajućim brojem linija. Za korištenje dizajna će omogućiti da snimiti vrlo kratko, bez korištenja pulta.

Prvo je potrebno stvoriti makronaredbu, kao što je gore opisano. Zatim, napisati kod sebe. Vjerujemo da smo zainteresirani vrijednosti za 10 stanica. Kod je kako slijedi.

Za i = 1 do 10 Sljedeće

Naredba je prenesena u „humani” jezika, kao što je „ponavlja od 1 do 10 u koracima od jednog”.

Ako je zadatak da primi kolonu kvadrata, na primjer, svi neparni cijeli brojevi između 1 i 11, pišemo:

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

Evo, korak - korak. U ovom slučaju, to je jednako dva. Prema zadanim postavkama, nepostojanje riječi u petlji znači da jednom koraku.

Rezultati trebaju biti pohranjeni u broju stanica (I, 1). Svaki put kada pokrenete ciklus s porastom vrijednosti od i korak automatski će rasti i broj linija. Dakle, bit će kod optimizacije.

Općenito, kod će izgledati:

Potprograma ()

Za i = 1 do 10 koraka 1 (može biti napisan samo za i = 1 do 10)

Stanice (i, 1) .Value-i ^ 2 (tj kvadrat vrijednost napisan u stanicu (i, 1) i)

Sljedeća (u smislu ima ulogu counter sredstava i drugog početka ciklusa)

End Sub.

Ako se pravilno obavljeno, uključujući snimanje i trčanje makronaredbe (vidi. Upute gore), onda se to naziva svaki put dao veličina će se dobiti stupac (u ovom slučaju sastoji od 10 stanica).

Primjer 4

U svakodnevnom životu, često je potrebno da se ovaj ili onaj odluku ovisno o određenim uvjetima. ne mogu bez njih u VBA Excel. Primjeri programa gdje je daljnji tijek algoritma je odabrana umjesto prvobitno predodređen, najčešće se koristi dizajn kad ... Tada (za teškim slučajevima) Ako ... Onda ... KRAJ Ako.

Razmislite određeni slučaj. Pretpostavimo da želite stvoriti makronaredbu za „Excel” u ćeliju s koordinatama (1,1) zabilježen je:

1, ako je argument pozitivna;

0, ako je argument je nula;

1, ako je argument negativan.

Stvaranje takvog makro za „Excel” počinje na standardni način, kroz korištenje „vruće” tipke Alt i F11. Nadalje napisan sljedeći kod:

Potprograma ()

x = Stanice (1, 1) .Value (Ova naredba dodjeljuje vrijednost x koordinate staničnih sadržaja (1, 1))

Ako je x> 0 tada Stanice (1, 1) .Value = 1

Ako x = 0 tada Stanice (1, 1) = 0 .Value

Ako x <0 tada Stanice (1, 1) -1-.Value

End Sub.

Ostaje pokrenuti makro i dobiti u „Excel” željene vrijednosti za argument.

VBA funkcije

Kao što ste možda primijetili, u najpoznatijoj programa Microsoft računalnih 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 Riječi, oko 160 funkcija. Oni se mogu podijeliti u nekoliko velikih skupina. To su:

  • Matematičkih funkcija. primjenjujući ih na raspravu o vrijednosti kosinusa dobiva, prirodni logaritam, i tako cijeli dio.
  • Financijski funkcije. Zbog njihove dostupnosti i korištenja programiranje u Excelu, možete dobiti učinkovite alate za računovodstvo i financijske naselja.
  • Funkcije obrade polja. To uključuje niz, IsArray; LBound; UBound.
  • VBA Excel funkcionirati za liniju. To je prilično velika grupa. To uključuje, na primjer, prostor funkcija stvoriti string s nizom nedostataka jednak cjelobrojnom argument ili ASC transfera simbola u ANSI kodu. Svi oni su naširoko koristi i omogućiti vam da rade sa žicama u „Excel” za stvaranje aplikacije puno lakše raditi s tim tablicama.
  • Vrsta podataka pretvorbe funkcije. Na primjer, CVaR vraća Expression argument, to pretvoriti u vrstu podataka varijanta.
  • Datum funkcije. Oni su uvelike proširiti standardne značajke „Excel”. Dakle, WeekdayName funkcija vraća ime (potpuno ili djelomično) dana u tjednu po svom broju. Čak i više koristan je timer. On daje broj sekundi koji su protekli od ponoći do određenog trenutka u danu.
  • Funkcija za pretvaranje numeričke argument u različitim brojevni sustavi. Na primjer, listopada izlazi na oktalnu zastupljenosti broja.
  • funkcije za formatiranje. Najvažnija od njih je format. To vraća varijanta s izrazom formatirani prema uputama u opisu formata.
  • i tako dalje.

Proučavanje svojstava tih funkcija i njihova primjena znatno će proširiti opseg „Excel”.

Primjer 5

Pokušajmo riješiti složenije probleme. Na primjer:

Dan papir dokument stvarna razina troškova izvješća poduzeća. zahtijeva:

  • razvijati svoj uzorak dio proračunskih tablica „Excel”;
  • napraviti VBA program koji će tražiti sirovi podaci na to mjesto, za obavljanje potrebne izračune i popuniti u obrascu na odgovarajuće stanice.

Razmislite jedan od sljedećih rješenja.

Stvaranje predloška

Sve aktivnosti se izvode na standardnom list u Excelu. Besplatno stanice rezervirana za unos podataka o mjesec, godina, naslov-potrošača tvrtki, iznos troškova, njihova razina prometa. Kako je broj tvrtki (tvrtki), u odnosu na koje se izvješće nije zabilježena, stanice da bi se na temelju vrijednosti i profesionalne ime nije rezervirana unaprijed. Radni list dodjeljuje novo ime. Na primjer, „Օ izvješće”.

varijable

Za pisanje programa automatski popuniti u obrascu, odaberite zapis. Oni će se koristiti za varijable:

  • NN- broj tekućeg redu tablice;
  • TP i TF - planirani i stvarni promet;
  • SF i SP - stvarne i planirane ukupne troškove;
  • IP i IF - planirana i razina stvarne troškove.

Mi smo označili iste slovima, ali s „prefiks» Itog akumulacije ukupno za taj stupac. Na primjer, ItogTP - S obzirom na stupcu pod nazivom kao „planiranog prometa.”

Rješenje problema pomoću VBA programiranje

Pomoću ove oznake, dobivamo formulu varijance. Ako želite provesti izračun u% imamo (F - P) / P * 100, te u iznosu od - (F - P).

Rezultati ovih izračuna može biti najbolje samo da bi „Excel” tablicu u odgovarajućim stanicama.

Ishod i prognozu u stvari dobivenog formulama ItogP = ItogP + P i ItogF = ItogF + F.

Za odstupanja koristiti = (ItogF - ItogP) / ItogP * 100 ako se obračun obavlja se kao postotak, a ako u ukupnoj vrijednosti - (ItogF - ItogP).

Rezultati ponovno zabilježen u odgovarajućim stanicama, tako da nema potrebe da ih dodijeliti varijabli.

Prije početka stvoriti program koji želite spremiti radnu knjigu, na primjer, pod imenom „Otchet1.xls”.

Pritisnite „Stvaranje tablice izvješćivanja”, morate pritisnuti samo jedan put nakon unosa podataka zaglavlja. Ti bi trebao znati i druga pravila. Konkretno, gumb „Dodaj liniju” mora biti pritisnut svaki put nakon ulaska u tablici vrijednosti za svaku aktivnost. Nakon unosa svih podataka potrebnih za pritisnuti gumb „Završi”, a zatim se prebacite na „Excel” u prozoru.

Sada kada znate kako riješiti problem za Excel makronaredbe. Sposobnost koristiti VBA excel (vidi primjere programa. Gore) i možda ćete morati raditi u okruženju od najpopularnijih u ovom trenutku, tekst editor „Word”. Konkretno, snimanjem, kao što je prikazano na početku ovog članka, ili pisanja koda za stvaranje gumbe izbornika kroz koje mnogi od operacije na tekst može obaviti pritiskom tipke na dužnosti ili putem ikone „View” i kartici „Makro”.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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