Kaj je VBA? Jezik makrov Excel

Če ste kdaj uporabljali makre v Excelu, ste uporabili Visual Basic for Applications (VBA). VBA je programsko kodo, ki jo lahko bere (in ureja) človek, ki se ustvari, ko posnamete makro. Ko zaženete makro, Excel to kodo prebere za ponovitev vaših dejanj.

Sledi vrsta pogosto zastavljenih vprašanj o VBA z odgovori tako za novince v Excelovih makrih kot za izkušene programerje.

Za kaj se VBA uporablja v Excelu?

VBA se uporablja za pisanje makrov, ki avtomatizirajo preprosta in zapletena opravila v Excelu.

Uporabniki programa Microsoft Excel bodo pogosto ponavljali isto vrsto nalog. Včasih so to manjše naloge, kot je kopiranje podnaborov podatkov na različne liste, včasih pa so naloge bolj zapletene, kot je nalaganje podatkov na spletno mesto. Z VBA lahko makre programirate za avtomatizacijo takih opravil in vrsto ročnih operacij spremenite v en sam klik gumba.

Kako začnem z VBA v Excelu?

Najlažji način, da začnete z makri, je, da jih posnamete s snemalnikom makrov, vgrajenim v Excel. Makro snemalnik ustvari kodo VBA, ki jo lahko berete in urejate, s čimer se naučite, kako kodirati svoje makre iz nič.

Za več informacij si oglejte članek »Kako posneti makro«.

Kako dostopam do kode VBA?

Urejevalnik VBA lahko kadar koli odprete s pritiskom na ALT+F11 bližnjica na tipkovnici. Od tu lahko dostopate do kode za vse odprte delovne zvezke.

Dvokliknite kateri koli predmet delovnega zvezka, lista ali modula v datoteki Projekt okno za prikaz kode VBA, ki jo vsebuje. Posneti makri bodo vedno prikazani v modulih, kamor boste običajno želeli napisati tudi svoje makre.

Za več informacij o urejanju makrov si oglejte članek »Urejanje makrov Excel VBA«.

Kaj lahko VBA naredi?

Najprej: če lahko kaj storite v Excelu, lahko napišete kodo VBA, da naredite isto. Če se naučite ukazov (z uporabo snemalnika makrov ali spletnih virov), lahko več dejanj povežete v en sam makro.

Drugič: lahko uporabite VBA za pisanje uporabniško določenih funkcij za uporabo v formulah delovnega lista - podobno kot na primer funkcija »= SUM ()«. Čeprav Excel že vsebuje veliko različnih funkcij, če želite, da želite funkcijo, ki je bolj specifična za vašo panogo ali delovno mesto, jo lahko dodate z VBA.

Tretjič: z VBA lahko v svoje makre dodate logiko (stavki If) in zanke (ponavljajoča se dejanja). To pomeni, da je makro lahko več kot beleženje dejanj - lahko je pravi program s pametnim ponavljanjem in odločanjem.

Četrti: VBA vam omogoča izdelavo uporabniških vmesnikov, ki uporabnikom olajšajo interakcijo z vašimi makri. Ti vmesniki so lahko preprosti gumbi na delovnem listu ali zapleteni uporabniški obrazci z bogatimi kontrolniki, kot sta TreeViews in FlexGrids.

(Za izhodišče glejte članek »Dodajanje gumba in dodelitev makra v Excelu«.)

Peti, a ne končno: VBA vam omogoča uporabo skoraj vseh virov vašega računalnika ali interneta z uporabo zunanjih knjižnic DLL. Na ta način lahko avtomatizirate veliko več kot Excel, na primer dostop do spletnih storitev in baz podatkov, razčlenjevanje datotek XML, medsebojno delovanje z drugimi aplikacijami Microsoft Office in še veliko več.

Ali sta VB in VBA enaka?

Jezik VBA je enak Visual Basic 6.0. Če imate izkušnje s pisanjem kode VB6, lahko napišete VBA.

Urejevalnik VB v Excelu je skrajšana različica urejevalnika VB6 s podobnimi možnostmi za odpravljanje napak in komponentami, kot sta okni »Projekt« in »Lastnosti«. Urejevalnik obrazcev je prav tako zelo podoben, čeprav ima nekatere omejitve (na primer nezmožnost ustvarjanja kontrolnih nizov).

Manj podoben VBA je Visual Basic .NET. Čeprav si ti jeziki delijo iste ključne besede in skladnje, je koda med temi jeziki manj interoperabilna. Za prenos postopka iz VB6 v VBA vam ne bi bilo treba ponovno pisati veliko (če sploh), vendar tega ne bi mogli storiti iz VB.NET.

Kakšna je razlika med makrom in VBA?

VBA je le jezik, s katerim so napisani makri. Če je vaš makro zgodba, je VBA slovnica in slovar, s katerim je napisan.

Kakšna je razlika med makrom in skriptom?

Skripti uporabljajo omejeno podskupino jezika Visual Basic in se uporabljajo za različne namene.

Makri so shranjeni v datotekah Excelovega delovnega zvezka in jih je mogoče zagnati samo v Excelu. Običajno se uporabljajo za avtomatizacijo različnih Excelovih funkcij in dodajanje dodatnih funkcij v delovne zvezke.

Skripti so shranjeni v besedilnih datotekah z razširitvijo .VBS in jih je mogoče zagnati v sistemu Windows ali izvesti v drugih programih. Sysadmini bodo uporabili skripte za avtomatizacijo nekaterih upravnih nalog v računalniku ali omrežju.

Kaj počne razvijalec VBA?

Pogosto ljudje, ki ustvarjajo makre, niso razvijalci - to so analitiki, trgovci, računovodje ali znanstveniki, ki so se usposabljali za programiranje in uporabljajo VBA bolj ad -hoc.

Ljudje, ki se osredotočajo na razvoj VBA, ponavadi ustvarjajo bolj izpopolnjena orodja - ustvarjajo dodatke, uporabniške vmesnike z obrazci, interaktivne nadzorne plošče, generatorje poročil in drugo.

Zakaj je VBA pomemben?

VBA je standardno vključen v vse aplikacije Microsoft Office, vključno z Excelom. Excel je eden najbolj priljubljenih programov na svetu in se uporablja na najrazličnejših področjih in delovnih mestih, vsi z lastnimi edinstvenimi poteki dela in primeri uporabe.

Če ne uporabljate avtomatizacije, se vsak teden izgubi nešteto delovnih ur pri opravljanju dolgočasnih, ponavljajočih se nalog s človeško hitrostjo. Avtomatizacija z VBA lahko opravlja enake naloge z bliskovito hitrostjo računalnika, kar omogoča uporabnikom, da se osredotočijo na pomembne vidike svojega dela, so bolj produktivni - in morda odidejo iz pisarne malo prej!

Je VBA dober programski jezik?

VBA ima značilne programske elemente, kot so spremenljivke, matrike, funkcije, odločitve in zanke. Ima sintakso, ki je enostavna za branje in lahko izkoristi veliko energije sistema Windows in drugih storitev.

Po drugi strani pa ravnanje z napakami v VBA ni zelo elegantno. Medtem ko drugi jeziki uporabljajo bloke kod "try-catch-final", VBA uporablja stavke "On Error" za spreminjanje obnašanja makrov, ko pride do napake.

Poleg tega VBA ni mogoče uporabiti za ustvarjanje samostojnih programov, spletnih mest ali storitev in se ne more povezati z novejšimi programskimi vmesniki API, kot je platforma .NET.

Ali je VBA objektno naravnana?

VBA ima omejeno podporo za nekatere objektno usmerjene koncepte:

  • Enkapsulacija: VBA podpira skrivanje podatkov z uporabo razredov
  • Polimorfizem: ključna beseda Implements programerjem omogoča uporabo drugih razredov kot vmesnikov

V strogem smislu pa VBA ni objektno naravnana. Zlasti mu manjka koncept dedovanja, ki močno omejuje možnost razširitve funkcionalnosti obstoječih vrst.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave