Vodič za početnike o pisanju VBA makronaredbi u Excelu (i zašto biste trebali naučiti)

Vodič za početnike o pisanju VBA makronaredbi u Excelu (i zašto biste trebali naučiti)

Excel Macros može vam uštedjeti hrpu vremena automatiziranje Excel procesa koje često koristite . No, makronaredbe su zapravo prilično ograničene. Lako je pogriješiti s alatom za snimanje, a postupak snimanja je neugodan.





Korištenje VBA za izradu makronaredbi daje vam mnogo više snage. Excelu možete točno reći što da radi i kako to učiniti. Također imate pristup puno više funkcija i mogućnosti. Ako redovito koristite Excel, vrijedno je naučiti stvarati VBA makronaredbe.





Počet ćemo s osnovama.





Što je VBA?

VBA je Visual Basic za aplikacije , programski jezik koji možete koristiti u mnogim Microsoftovim aplikacijama. Visual Basic je programski jezik, a VBA je njegova verzija za aplikaciju. (Microsoft je obustavio Visual Basic 2008. godine, ali VBA i dalje jača).

Na sreću za programere, VBA je vrlo jednostavan, a sučelje koje koristite za njegovo uređivanje nudi veliku pomoć. Mnoge naredbe koje ćete upotrijebiti u skočnim prijedlozima i automatskim dovršavanjima pomažu vam da brzo pokrenete skriptu.



Ipak, na VBA je potrebno neko vrijeme da se navikne.

Prednosti VBA makronaredbi u Excelu

Ako je VBA teže od snimanja makronaredbi, zašto biste ga koristili? Kratak odgovor je da dobivate mnogo više snage iz VBA makronaredbi.





Umjesto klikanja po proračunskoj tablici i bilježenja tih klikova, možete pristupiti cijelom nizu funkcija i mogućnosti programa Excel. Trebate samo znati kako ih koristiti.

koja je moja lozinka za wifi android

A kad vam bude bolje s VBA -om, možete učiniti sve stvari koje biste mogli učiniti u uobičajenoj makronaredbi za puno manje vremena. Rezultati će također biti predvidljiviji, kao što govorite Excelu točno Što uraditi. Uopće nema nejasnoća.





Nakon što stvorite svoju VBA makronaredbu, lako ju je spremiti i podijeliti kako bi je svi drugi mogli iskoristiti. Ovo je osobito korisno kada radite s puno ljudi koji trebaju raditi iste stvari u Excelu.

Pogledajmo jednostavan VBA makro kako bismo vidjeli kako to funkcionira.

Primjer VBA makronaredbi u Excelu

Pogledajmo jednostavnu makronaredbu. Naša proračunska tablica sadrži imena zaposlenika, broj trgovine u kojoj zaposlenici rade i njihovu tromjesečnu prodaju.

Ovaj će makro dodati tromjesečnu prodaju iz svake trgovine i zapisati te zbrojeve u ćelije u proračunskoj tablici (ako niste sigurni kako pristupiti VBA dijalogu, provjerite naš vodič kroz VBA ovdje ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

Ovo bi moglo izgledati dugo i komplicirano, ali razradit ćemo ga tako da možete vidjeti pojedinačne elemente i naučiti nešto o osnovama VBA -e.

Proglašenje podmornice

Na početku modula imamo 'Sub StoreSales ()'. Time se definira nova podmena pod nazivom StoreSales.

Također možete definirati funkcije --- razlika je u tome što funkcije mogu vratiti vrijednosti, a subs ne mogu (ako ste upoznati s drugim programskim jezicima, subs su ekvivalent metoda). U ovom slučaju ne moramo vraćati vrijednost pa koristimo sub.

Na kraju modula imamo 'End Sub', koji Excelu govori da smo završili s ovom VBA makronaredbom.

Deklariranje varijabli

Prvi redovi koda u našoj skripti počinju s 'Dim'. Dim je VBA -ina naredba za deklariranje varijable.

Tako 'Dim Sum1' stvara novu varijablu pod nazivom 'Sum1'. Međutim, Excelu moramo reći o kakvoj se varijabli radi. Moramo odabrati vrstu podataka. U VBA postoji mnogo različitih vrsta podataka --- možete pronaći cijeli popis u Microsoftovim dokumentima za pomoć .

Budući da će se naša VBA makronaredba baviti valutama, koristimo tip podataka Valuta.

Izjava 'Dim Sum1 As Currency' govori Excelu da stvori novu varijablu valute pod nazivom Sum1. Svaka varijabla koju deklarirate mora imati izraz 'As' kako bi Excelu rekla njezinu vrstu.

Pokretanje for petlje

Petlje su neke od najmoćnijih stvari koje možete stvoriti u bilo kojem programskom jeziku. Ako niste upoznati s petljama, pogledajte ovo objašnjenje petlji Do-While. U ovom primjeru koristimo petlju For, koja je također obrađena u članku.

Evo kako petlja izgleda:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

To govori Excelu da ponavlja kroz ćelije u rasponu koji smo naveli. Koristili smo a Objekt dometa , koji je specifična vrsta objekta u VBA. Kad ga koristimo na ovaj način --- Raspon ('C2: C51') --- Excel govori da smo zainteresirani za tih 50 ćelija.

'Za svaki' govori Excelu da ćemo učiniti nešto sa svakom ćelijom u rasponu. 'Sljedeća ćelija' dolazi nakon svega što želimo učiniti i govori Excelu da započne petlju od početka (počevši od sljedeće ćelije).

Imamo i ovu izjavu: 'If IsEmpty (Cell) then Exit For.'

Možete li pogoditi što radi?

Bilješka: Strogo govoreći, korištenje petlje While moglo je biti bolji izbor . Međutim, radi poučavanja, odlučio sam upotrijebiti petlju For s izlazom.

mbr ili gpt za Windows 10

Izjave Ako-onda-Ostalo

Jezgra ovog makronaredbe nalazi se u naredbama If-Then-Else. Evo našeg slijeda uvjetnih izjava:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

Uglavnom možete vjerojatno pogoditi čemu služe ove izjave. Možda ipak niste upoznati s ActiveCell.Offset. 'ActiveCell.Offset (0, -1)' govori Excelu da pogleda ćeliju koja je jedan stupac lijevo od aktivne ćelije.

U našem slučaju, to govori Excelu da pogleda stupac s brojem trgovine. Ako Excel u ovom stupcu pronađe 1, tada uzima sadržaj aktivne ćelije i dodaje ga u Sum1. Ako pronađe 2, dodaje sadržaj aktivne ćelije u Sum2. I tako dalje.

Excel sve ove izjave pregledava redom. Ako je uvjetni iskaz je zadovoljen, dovršava naredbu Then. Ako ne, prelazi u sljedeći Ostali. Ako dođe do kraja i nijedan od uvjeta nije zadovoljen, neće poduzeti ništa.

Kombinacija petlje i uvjeta pokreće ovu makronaredbu. Petlja govori Excelu da prođe kroz svaku ćeliju u odabiru, a uvjeti joj govore što učiniti s tom ćelijom.

Zapisivanje vrijednosti ćelija

Konačno, rezultate naših proračuna zapisujemo u ćelije. Evo redaka koje koristimo za to:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

S '.Vrijednošću' i znakom jednakosti, svaku od tih ćelija postavljamo na vrijednost jedne od naših varijabli.

I to je to! Excel -u kažemo da smo završili s pisanjem ovog Sub -a s 'End Sub', a VBA makronaredba je dovršena.

Kada pokrenemo makro s datotekom Makronaredbe gumb u Programer karticu, dobivamo naše iznose:

Sastavljanje gradivnih elemenata VBA -e u Excelu

Kada prvi put pogledate gornju makronaredbu VBA, ona izgleda prilično složeno. No, nakon što ga razbijemo na sastavne dijelove, logika postaje jasna. Kao i svakom skriptnom jeziku, potrebno je vrijeme da se naviknete na sintaksu VBA.

No, vježbom ćete izgraditi svoj VBA rječnik i moći ćete pisati makronaredbe brže, točnije i s mnogo više snage nego što biste ih mogli snimiti.

Kad zaglavite, pokretanje Google pretraživanja brz je način da dobijete odgovore na svoja VBA pitanja. I Microsoft VBA referenca za Excel može biti od pomoći ako ste voljni kopati po pitanju tehničkog odgovora.

Kad se upoznate s osnovama, možete početi koristiti VBA za stvari poput slanje e -pošte iz programa Excel , izvoz Outlook zadataka i prikaz podataka o računalu.

kako spojiti dvije fotografije u jednu na iphoneu
Udio Udio Cvrkut E -pošta Evo zašto je FBI izdao upozorenje za otkupni softver u košnicama

FBI je izdao upozorenje o posebno gadnoj vrsti ransomwarea. Evo zašto morate biti posebno oprezni s Hive ransomwareom.

Pročitajte Dalje
Povezane teme
  • Produktivnost
  • Proračunska tablica
  • Microsoft Excel
  • Microsoft Office 2016
  • Makronaredbe
  • Vodiči za kodiranje
O autoru Zatim Albright(Objavljeno 506 članaka)

Dann je konzultant za strategiju sadržaja i marketing koji pomaže tvrtkama u stvaranju potražnje i potencijalnih klijenata. Također piše o strategiji i sadržajnom marketingu na dannalbright.com.

Više od Dann Albright

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu