Najbolji VBA vodič (za početnike) koji će vam ikada trebati
VBA programska(VBA programming) platforma koja se izvodi u gotovo svim proizvodima Microsoft Officea(Microsoft Office) jedan je od najmoćnijih alata koje svatko može koristiti za poboljšanje korištenja tih proizvoda.
Ovaj VBA vodič za početnike pokazat će vam kako dodati izbornik za razvojne programere(Developer) vašoj Office aplikaciji, kako ući u prozor VBA uređivača i kako funkcioniraju osnovne VBA izjave i petlje kako biste mogli početi koristiti VBA u Excelu(Excel) , Wordu(Word) , Powerpointu(Powerpoint) , Outlook i OneNote .
Ovaj VBA vodič koristi najnoviju verziju proizvoda Microsoft Officea(Microsoft Office) . Ako imate stariju verziju, možda ćete vidjeti neke male razlike u odnosu na snimke zaslona.
Kako omogućiti i koristiti VBA uređivač(How To Enable & Use The VBA Editor)
U bilo kojem od Officeovih(Office) proizvoda korištenih u ovom vodiču, možda ćete primijetiti da nemate referentni izbornik za razvojne programere(Developer) . Izbornik programera dostupan je samo u Excelu(Excel) , Wordu(Word) , Outlooku(Outlook) i Powerpointu(Powerpoint) . OneNote ne nudi alat za uređivanje VBA koda iz aplikacije, ali još uvijek možete referencirati OneNote API za interakciju s OneNoteom(OneNote) iz drugih programa sustava Office .
Naučit ćete kako to učiniti u našem nadolazećem Vodiču za napredni VBA .(Advanced VBA)
- Da biste omogućili izbornik Razvojni programer(Developer) u bilo kojem uredskom proizvodu, odaberite izbornik Datoteka(File) i odaberite Opcije(Options) s lijevog navigacijskog izbornika.
- Vidjet ćete skočni izbornik s opcijama . (Options)Odaberite Prilagodi vrpcu(Customize Ribbon) na lijevom navigacijskom izborniku.
Lijevi popis uključuje sve dostupne izbornike i naredbe izbornika dostupne u toj Office aplikaciji. Popis s desne strane su oni koji su trenutno dostupni ili aktivirani.
- Trebali biste vidjeti Developer na popisu s desne strane, ali neće biti aktiviran. Samo(Just) označite potvrdni okvir kako biste aktivirali izbornik programera(Developer) .
- Ako s desne strane ne vidite Developer dostupan, promijenite lijevu Odabir naredbi(Choose commands) iz padajućeg izbornika u Sve naredbe(All Commands) . Na popisu pronađite Developer i odaberite (Developer)Add>> u sredini da dodate taj izbornik na vrpcu(Ribbon) .
- Odaberite U redu(OK) kada završite.
- Nakon što je izbornik Programer(Developer) aktivan, možete se vratiti na glavni prozor aplikacije i odabrati Programer(Developer) s gornjeg izbornika.
- Zatim odaberite Prikaži kod(View Code) iz grupe Kontrole(Controls) na vrpci da otvorite prozor VBA uređivača.(VBA)
- Ovo će otvoriti prozor VBA editora u koji možete upisati kod koji ćete naučiti u sljedećih nekoliko odjeljaka.
- Pokušajte dodati izbornik Developer u nekoliko Officeovih(Office) aplikacija koje koristite svaki dan. Kada vam bude udobno otvoriti prozor VBA uređivača, nastavite na sljedeći odjeljak ovog vodiča.
Opći savjeti za VBA programiranje za početnike(General VBA Programming Tips for Beginners)
Primijetit ćete kada se otvori VBA uređivač, opcije navigacije na lijevoj ploči izgledaju drugačije od jedne Office aplikacije do druge.
To je zato što dostupni objekti na koje možete postaviti VBA kod ovise o tome koji objekti postoje u aplikaciji. Na primjer, u Excelu(Excel) možete dodati VBA kod u radnu knjigu ili objekte lista. U Wordu(Word) možete dodati VBA kod u dokumente. U Powerpointu(Powerpoint) samo na module.
Stoga nemojte biti iznenađeni različitim jelovnicima. Struktura i sintaksa VBA koda ista je u svim aplikacijama. Jedina razlika su objekti koje možete referencirati i radnje koje možete poduzeti na tim objektima putem VBA koda.
Prije nego što uronimo u različite objekte i radnje koje možete poduzeti na njima putem VBA koda, pogledajmo najčešću VBA strukturu i sintaksu koju možete koristiti kada pišete VBA kod.
Gdje staviti VBA kod(Where To Put VBA Code)
Kada ste u VBA uređivaču, trebate upotrijebiti dva padajuće okvira na vrhu prozora za uređivanje kako biste odabrali objekt kojem želite priložiti kod i kada želite da se kod pokrene.
Na primjer, u Excelu(Excel) , ako odaberete Radni list(Worksheet) i Aktiviraj(Activate) , kod će se pokrenuti svaki put kad se radni list otvori.
Ostale radnje radnog lista koje možete upotrijebiti za pokretanje VBA koda uključuju kada se radni list promijeni, kada je zatvoren (deaktiviran), kada se izračun radnog lista pokrene i još mnogo toga.
Kada dodajete VBA kod u uređivač, uvijek stavite svoj VBA kod na objekt i koristite ispravnu radnju koju želite upotrijebiti za pokretanje tog koda.
VBA IF izjave(VBA IF Statements)
Naredba IF radi u VBA -u baš kao što radi u bilo kojem drugom programskom jeziku.
Prvi dio IF izjave razmatra je li uvjet ili skup uvjeta istinit. Ovim se uvjetima može pridružiti AND ili OR operator da ih poveže.
Jedan primjer bi bio provjera je li ocjena u proračunskoj tablici iznad ili ispod "prolazne" ocjene i dodjeljivanje statusa prolaza ili neuspjeha drugoj ćeliji.
If Cells(2, 2) > 75 Then Cells(2, 3) = “Pass” Else Cells(2, 3) = “Fail”
Ako ne želite da se cijeli izraz nalazi u jednom retku, možete ga podijeliti u više redaka dodavanjem simbola "_" na kraju redaka.
If Cells(2, 2) > 75 Then _
Cells(2, 3) = “Pass” Else _
Cells(2, 3) = “Fail”
Korištenje ove tehnike često može učiniti kod mnogo lakšim za čitanje i otklanjanje pogrešaka.
VBA za sljedeće petlje(VBA For Next Loops)
IF izjave su izvrsne za pojedinačne usporedbe, kao što je gornji primjer gledanja u jednu ćeliju. Ali što ako želite proći kroz cijeli niz ćelija i napraviti istu IF naredbu za svaku?
U ovom slučaju trebat će vam petlja FOR .
Da biste to učinili, trebali biste upotrijebiti duljinu raspona i proći kroz tu duljinu prema broju redaka koji sadrže podatke.
Da biste to učinili, morate definirati varijable raspona i ćelije i proći kroz njih. Također ćete morati definirati brojač kako biste rezultate mogli ispisati u odgovarajući redak. Dakle, vaš VBA kod bi prvo imao ovu liniju.
Dim rng As Range, ćelija As Range (Dim rng As Range, cell As Range)
Dim rowCounter kao cijeli broj(Dim rowCounter as Integer)
Definirajte veličinu raspona na sljedeći način.
Set rng = Range(“B2:B7”)
rowCounter = 2
Konačno, možete stvoriti svoju FOR petlju kako biste prošli kroz svaku ćeliju u tom rasponu i izvršili usporedbu.
For Each cell In rng If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell
Nakon što se ova VBA skripta(VBA script) pokrene, rezultate ćete vidjeti u stvarnoj proračunskoj tablici.
VBA while petlje(VBA While Loops)
Dok petlja(Loop) također prolazi kroz niz naredbi, baš kao petlja FOR , ali uvjet za nastavak petlje je uvjet koji ostaje istinit.
Na primjer, možete napisati istu petlju FOR iznad, kao petlju WHILE , jednostavnim korištenjem varijable rowCounter kako slijedi.
While rowCounter < rng.Count + 2 If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend
Napomena: ograničenje završetka rng.Count + 2 je potrebno jer brojač redaka počinje na 2 i treba završiti u retku 7 gdje završavaju podaci. Međutim, broj raspona (B2:B7) je samo 6, a petlja While završit će tek kada brojač bude VEĆI(GREATER) od brojača – tako da posljednja vrijednost brojača redaka mora biti 8 (ili rng.Count + 2).
Također možete postaviti while petlju na sljedeći način:
While rowCounter <= rng.Count + 1
Možete samo povećati broj raspona (6) za 1, jer kada varijabla rowCounter dosegne kraj podataka (redak 7), petlja može završiti.
VBA Do While i Do Until petlje(VBA Do While and Do Until Loops)
Do While i Do Until petlje su gotovo identične petlji While, ali rade malo drugačije.
- Dok petlja(While Loop) provjerava je li uvjet istinit na početku petlje.
- Petlja Do-While(Do-While Loop) provjerava je li uvjet istinit nakon izvršenja naredbi u petlji.
- Petlja Do-Until(Do-Until Loop) provjerava je li uvjet i dalje lažan nakon izvršenja petlje.
U ovom slučaju prepisali biste gornju petlju While na sljedeći način, kao Do-While petlju.
Do If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2
U ovom se slučaju logika ne mijenja puno, ali ako želite biti sigurni da se logička usporedba odvija nakon što se svi iskazi izvedu (dopuštajući im da se svi izvode bez obzira na sve barem jednom), onda Do-While ili petlja Do-Until je prava opcija.
VBA Odaberite Izjave slučaja(VBA Select Case Statements)
Konačna vrsta logičke izjave koju ćete morati razumjeti da biste počeli strukturirati svoj VBA kod su naredbe Select Case .
S obzirom na gornji primjer, recimo da želite imati metodu ocjenjivanja koja nije samo neuspješan prolaz. Umjesto toga, želite dodijeliti slovnu ocjenu od A do F.
To možete učiniti sljedećom izjavom Select Case :
For Each cell In rng Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell
Rezultirajuća proračunska tablica nakon što se ova VBA skripta pokrene izgleda kao ona ispod.
Sada znate sve što trebate znati da biste počeli koristiti VBA u svojim Microsoft Office aplikacijama.
Related posts
Napredni VBA vodič za MS Excel
13 najboljih tipkovničkih prečaca za Microsoftove timove
Kako stvoriti VBA makro ili skriptu u Excelu
Što je Microsoft Publisher? Vodič za početnike
Kako popraviti pogrešku Bookmark Not Defined u Wordu
10 alata za oporavak izgubljene ili zaboravljene Outlook PST lozinke
Kako umetnuti animirani GIF u PowerPoint
7 alternativa PowerPointu koje možete koristiti na mreži
Kako prikazati broj riječi u Microsoft Wordu
Kako promijeniti veličinu slajda u PowerPointu za bolje prezentacije
Kako ispraviti pogreške #N/A u Excelovim formulama kao što je VLOOKUP
Kako popraviti redak u Excelu
Kako popraviti Outlook zaglavljen pri učitavanju profila
Kako stvoriti i pokrenuti makronaredbu u Wordu
Dobijte statistiku e-pošte za Outlook koristeći StatView
Kako koristiti Excelovu analizu "što ako".
Kako koristiti Excelovu značajku govornih ćelija
9 načina da otvorite Word dokument bez Worda
Kako vratiti izbrisane poruke e-pošte u Office 365
Kako pretvoriti Powerpoint prezentaciju u video