Što je VBA? Excel makro jezik

Ako ste ikada koristili makronaredbe u Excelu, koristili ste Visual Basic za aplikacije (VBA). VBA je programski kod koji se može čitati (i uređivati), a koji se generira pri snimanju makronaredbi. Kad pokrenete makro, Excel čita ovaj kôd kako bi ponovio vaše radnje.

Slijedi niz često postavljanih pitanja o VBA -i, s odgovorima i za novopridošlice u Excel makroima i za iskusne programere.

Za što se VBA koristi u Excelu?

VBA se koristi za pisanje makronaredbi koje automatiziraju jednostavne i složene zadatke u Excelu.

Korisnici programa Microsoft Excel često će se ponavljati da ponavljaju isti niz zadataka. Ponekad su to manji zadaci poput kopiranja podskupova podataka na različite listove, a ponekad su zadaci složeniji poput prijenosa podataka na web stranicu. S VBA -om, makronaredbe se mogu programirati za automatiziranje ovakvih zadataka, pretvarajući niz ručnih operacija u jedan klik na gumb.

Kako započeti s VBA -om u Excelu?

Najlakši način za početak rada s makroima je snimanje pomoću Makro snimača ugrađenog u Excel. Makro rekorder generira VBA kôd koji možete čitati i uređivati, dajući vam korak po korak kako biste naučili kodirati vlastite makronaredbe od nule.

Za više informacija pogledajte članak “Kako snimiti makro”.

Kako mogu pristupiti VBA kodu?

VBA editor možete otvoriti u bilo kojem trenutku pritiskom na ALT+F11 tipkovni prečac. Odavde možete pristupiti kodu za sve otvorene radne knjige.

Možete dvaput kliknuti bilo koju radnu knjigu, list ili objekt modula u Projekt prozor za prikaz VBA koda koji se u njemu nalazi. Snimljeni makroi uvijek će se pojavljivati ​​u modulima, gdje ćete obično htjeti napisati i vlastite makronaredbe.

Više informacija o uređivanju makronaredbi potražite u članku “Uređivanje Excel VBA makronaredbi”.

Što VBA može učiniti?

Kao prvo: ako nešto možete učiniti u Excelu, možete napisati VBA kôd da biste učinili istu stvar. Ako naučite naredbe (koristeći snimač makronaredbi ili mrežne izvore), možete nizati nekoliko akcija zajedno u jednu makronaredbu.

Drugi: možete koristiti VBA za pisanje korisnički definiranih funkcija za uporabu u formulama radnog lista - slično kao na primjer funkcija "= SUM ()". Iako Excel već sadrži veliki izbor funkcija, ako želite da želite funkciju koja je specifičnija za vašu industriju ili radno mjesto, možete je dodati pomoću VBA.

Treći: možete koristiti VBA za dodavanje logike (If izrazi) i petlji (ponavljanje radnji) u vaše makronaredbe. To znači da makro može biti više od snimanja radnji - može biti pravi program s pametnim ponavljanjem i donošenjem odluka.

Četvrti: VBA vam omogućuje izradu korisničkih sučelja, dajući korisnicima lakši način interakcije s vašim makronaredbama. Ta sučelja mogu biti jednostavni gumbi na radnom listu ili složeni korisnički obrasci s bogatim kontrolama poput TreeViews i FlexGrids.

(Pogledajte polaznu točku "Dodavanje gumba i dodjeljivanje makronaredbi u Excelu".)

Peto, ali ne konačno: VBA vam omogućuje da iskoristite gotovo bilo koji resurs vašeg računala ili interneta pomoću vanjskih DLL biblioteka. Na ovaj način možete automatizirati puno više od Excela, poput pristupa web uslugama i bazama podataka, raščlanjivanja XML datoteka, međudjelovanja s drugim aplikacijama Microsoft Office i još mnogo, mnogo više.

Jesu li VB i VBA isti?

VBA jezik identičan je Visual Basicu 6.0. Ako imate iskustva s pisanjem VB6 koda, možete napisati VBA.

VB Editor u Excelu je skraćena verzija uređivača VB6, sa sličnim mogućnostima i komponentama za otklanjanje pogrešaka poput prozora "Projekt" i "Svojstva". Uređivač obrazaca također je vrlo sličan, iako ima neka ograničenja (poput nemogućnosti stvaranja kontrolnih nizova).

Manje sličan VBA je Visual Basic .NET. Iako ti jezici dijele mnoge iste ključne riječi i sintakse, kôd između ovih jezika manje je interoperabilan. Ne biste morali puno pisati (ako išta) za prijenos postupka iz VB6 u VBA, ali ne biste mogli učiniti isto iz VB.NET-a.

Koja je razlika između makronaredbe i VBA?

VBA je samo jezik kojim se pišu makronaredbe. Ako je vaš makro priča, VBA je gramatika i rječnik kojim je napisan.

Koja je razlika između makronaredbe i skripte?

Skripte koriste ograničen podskup jezika Visual Basic i koriste se u različite svrhe.

Makrone se pohranjuju unutar datoteka radne knjige programa Excel i mogu se pokrenuti samo iz programa Excel. Obično se koriste za automatiziranje različitih Excel funkcija i dodavanje dodatne funkcionalnosti radnim knjigama.

Skripte se spremaju u tekstualne datoteke pomoću proširenja .VBS i mogu se pokrenuti iz sustava Windows ili izvršiti drugi programi. Sysadmini će koristiti skripte za automatizaciju određenih administrativnih zadataka na računalu ili mreži.

Što radi VBA Developer?

Često ljudi koji stvaraju makroe nisu programeri - to su analitičari, trgovci, računovođe ili znanstvenici, koji su prošli obuku iz programiranja i koriste VBA više na ad -hoc osnovi.

Ljudi koji se usredotočuju na razvoj VBA -a skloni su stvaranju profinjenijih alata - stvaraju dodatke, korisnička sučelja s obrascima, interaktivne nadzorne ploče, generatore izvješća i drugo.

Zašto je VBA važan?

VBA je standardno uključen u sve Microsoft Office aplikacije, uključujući Excel. Excel je jedan od najpopularnijih programa na svijetu i nalazi primjenu u raznim područjima i na radnim mjestima, a svi sa svojim jedinstvenim tijekovima rada i slučajevima upotrebe.

Ne upotrebljavajući automatizaciju, bezbroj radnih sati gubi se svaki tjedan obavljajući dosadne, ponavljajuće se zadatke ljudskom brzinom. Automatizacija s VBA -om može obavljati iste zadatke munjevitom brzinom računala, dopuštajući korisnicima da se usredotoče na važne aspekte svog rada, budu produktivniji - i možda izađu iz ureda malo ranije!

Je li VBA dobar programski jezik?

VBA ima tipične programske elemente poput varijabli, nizova, funkcija, odluka i petlji. Ima sintaksu koja se lako čita i može iskoristiti puno energije iz sustava Windows i drugih usluga.

S druge strane, rukovanje pogreškama nije baš elegantno u VBA-i. Dok drugi jezici koriste blokove kodova “try-catch-konačno”, VBA koristi naredbe “On Error” za promjenu ponašanja makronaredbi kada dođe do pogreške.

Osim toga, VBA se ne može koristiti za stvaranje samostalnih programa, web stranica ili usluga, niti se može sučeliti s novijim programskim API -jem, poput .NET platforme.

Je li VBA objektno orijentirana?

VBA ima ograničenu podršku za neke objektno orijentirane koncepte:

  • Inkapsulacija: VBA podržava skrivanje podataka pomoću klasa
  • Polimorfizam: ključna riječ Implements omogućuje programerima da koriste druge klase kao sučelja

U strogom smislu, VBA nije objektno orijentirana. Osobito nedostaje koncept nasljeđivanja, koji ozbiljno ograničava mogućnost proširenja funkcionalnosti postojećih vrsta.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave