VBA Excel: primjeri programa. Makronaredbe u Excelu

Malo ljudi zna da se prva verzija popularnog Microsoft Excel proizvoda pojavila 1985. godine. Od tada je iskusio nekoliko modifikacija i traži se od milijuna korisnika širom svijeta. U isto vrijeme, mnogi rade samo s malim dijelom mogućnosti ovog stolnog procesora, a čak ni ne mogu pogoditi kako bi mogli olakšati život programerskih vještina u Excelu.

Što je VBA

Programiranje u Excelu vrši se pomoću programskog jezika Visual Basic for Application ugrađenog u najpoznatiji Microsoftov stolni procesor. U njegovu korist stručnjaci pripisuju komparativnu lakoću razvoja. Kao što praksa pokazuje, čak i korisnici koji nemaju profesionalne vještine programiranja mogu naučiti osnove VBA. VBA značajke uključuju izvršavanje skripte u okruženju uredske aplikacije.


Nedostaci programa su problemi povezani s kompatibilnošću različitih verzija. To je zbog činjenice da se programski kod VBA odnosi na funkcionalnost koja je prisutna u novoj verziji proizvoda, ali ne iu staroj verziji. Također, nedostaci uključuju pretjerano visoku otvorenost koda za promjenu treće strane. Međutim, Microsoft Office i IBM Lotus Symphony dopuštaju korisniku da primijeni šifriranje izvornog koda i postavku zaporke kako bi ga pogledao.

Objekti, zbirke, svojstva i metode

Upravo s tim konceptima treba se pozabaviti oni koji će raditi u VBA okruženju. Prije svega, morate razumjeti što je objekt. U Excelu, u ovom svojstvuPismo, knjiga, ćeliju i raspon. Ovi objekti imaju posebnu hijerarhiju, tj. Podložni su jedni drugima.


Glavni je program koji odgovara samom programu Excel. Zatim slijedite radne knjige, radne listove i domet. Na primjer, da biste se pozvali na A1 na posebnom listu, morate navesti putanju koja se temelji na hijerarhiji. Što se tiče koncepta "kolekcije", to je skupina objekata iste klase, koja u bilješci izgleda kao ChartObjects. Njegovi pojedinačni elementi također su objekti. Sljedeći koncept su svojstva. Oni su nužna karakteristika bilo kojeg objekta. Na primjer, za raspon - je vrijednost ili formula. Metode su timovi koji pokazuju što da rade. Prilikom pisanja VBA koda, potrebno ih je odvojiti točkom. Na primjer, kao što će biti prikazano kasnije, vrlo često kada se koristi Excel, upotrijebite naredbu Cells
. To znači da morate odabrati ćeliju s koordinatama
, tj. A1. Zajedno s njom često se koristi Selection.ClearContents. Njegovo izvršenje znači čišćenje sadržaja odabrane ćelije.

Kako početi

Prije svega, trebate stvoriti datoteku i spremiti je tako da joj dodijelite ime i odaberete vrstu "Excel knjige s podrškom za makro". Zatim morate otići do aplikacije VB, što je dovoljno za kombinaciju tipki "Alt" i "F11". Dalje:
  • U traci izbornika koja se nalazi na vrhu prozora, kliknite na ikonu pored ikone Excela;
  • odaberite naredbu Mudule;
  • pohranjuju se klikom na ikonu sa slikom diskete;
  • napisati, recimo, obris koda.
  • Izgleda ovako:
    Podprogram () 'Naš kod Završi pod Molimo imajte na umu da će redak' 'Naš kod' 'biti označen drugom bojom (zelenom bojom). Razlog za apostrof stavljen na početak retka, što znači da komentar slijedi. Sada možete napisati bilo koji kôd i stvoriti novi VBA Excel alat za vas (primjeri programa pogledajte dolje). Naravno, oni koji su upoznati s osnovama Visual Basica bit će mnogo lakše. Međutim, čak i oni koji ih nemaju, po želji, moći će se brzo naviknuti.

    Makroi u Excelu

    Ovo ime skriva programe napisane na jeziku Visual Basic for Application. Dakle, programiranje u Excelu je stvaranje makronaredbi s potrebnim kodom. S ovom mogućnošću, Microsoftov stolni procesor se razvija, prilagođavajući se potrebama određenog korisnika. Razumijem kako stvoriti module za pisanje makronaredbi, možete početi razmatrati konkretne primjere VBA Excel programa. Najbolje je početi s najosnovnijim kodovima.

    Primjer 1

    Zadatak: napišite program koji će kopirati vrijednosti sadržaja jedne ćelije i zatim pisati drugom. Da biste to učinili:
  • otvorite karticu "Prikaz";
  • idite na ikonu "Makronaredbe";
  • pritisnite "Makro snimanja";
  • popunite otvoreni obrazac.
  • Radi jednostavnosti, u polju "Macro Name", ostavite "Macro1", au polju "Keyboard shortcuts", na primjer, hh je umetnut (to znači da možete pokrenuti program s blitz naredbom "Ctrl + h"). Pritisnite Enter. Sada, kada je makro zapis već pokrenut, oni kopiraju sadržaj bilo koje ćelije u drugu. Vratite se na izvornu ikonu. Kliknite"Makro snimanja". Ova akcija znači završetak programa. Dalje:
  • Vratite se na redak "Makronaredbe";
  • na popisu odaberite "Makro 1";
  • pritisnite "Pokreni" (ista radnja pokreće se na početku tipkovničkog prečaca Ctrl + hh ").
  • Kao rezultat toga, poduzima se akcija u procesu pisanja makroa.
    Ima smisla vidjeti što kôd izgleda. Da biste to učinili, vratite se u redak "Makronaredbe" i kliknite "Promijeni" ili "Prijava". Kao rezultat toga, oni su u VBA okruženju. Zapravo, sam makro kod se nalazi između redaka Sub Macro1 () End Sub. Ako je kopiranje izvedeno, na primjer, iz ćelije A1 u ćeliji C1, onda bi jedna od linija koda izgledala kao Range ("C1"). U prijevodu izgleda kao "Range C1"). Odaberite "drugim riječima, migrira se u VBA Excel u ćeliju C1. Aktivni dio koda dovršava naredbu ActiveSheet.Paste, što znači da se sadržaj odabrane ćelije (u ovom slučaju A1) piše na Odabrana ćelija C1

    Primjer 2

    VBA ciklusi pomažu u stvaranju različitih makronaredbi u Excelu.VBA ciklusi pomažu u stvaranju različitih makronaredbi.Pretpostavimo da postoji funkcija y = x + x 2 + 3x 3 - cos (x). To možete učiniti samo pomoću VBA petlji.Za početne i završne vrijednosti argumenta funkcije uzimaju x1 = 0 i x2 = 10. Osim toga, morate unijeti konstantu - vrijednost koraka promjene argumenta i početnu vrijednost brojača. Svi primjeri VBA Excel makronaredbi stvaraju se u istom postupku kao gore. U ovom slučaju, kod izgleda ovako: Podprogram () x1 = 1 x2 = 10 shag = 0.1 i = 1 Do while x1

    Povezane publikacije