Uvod u VBA
Pravljenje Makro-a Sa Excel VBA moguće je automatizovati rad u Excelu pisanjem makroa (macro) Napravićemo jednostavan makro koji se izvršava pritiskanjem dugmeta Kao prvo potrebno je omogućiti Developer tab
Pravljenje Makro-a
Pravljenje Makro-a 1. Na Developer tab, kliknite Insert. 2. U ActiveX Controls group, kliknite Command Button. 3. Prevucite dugme na vaš radni papir.
Dodeljivanje Makro-a 1. Desni klik CommandButton1 (proverite da je Design Mode uključen). 2. kliknite View Code.
Dodeljivanje Makro-a 3. Postavite kursor između Private Sub CommandButton1_Click() i End Sub. 4. Dodajte kod sa slike
Dodeljivanje Makro-a 5. Zatvorite Visual Basic Editor. 6. Kliknite na komandno dugme na radnom papiru (pazite da je Design Mode isključen).
Dodeljivanje Makro-a
Zamena vrednosti Prvo, određujemo varijablu koja se zove temp tipa Double. Dim temp As Double Drugo, pokrenemo temp sa vrednošći ćelije A1. temp = Range("A1").Value Teće, sada možemo da upišemo vrednost ćelije B1 u ćeliju A1 (sačuvali smo vrednost ćelije A1 u temp kako je ne bi izgubili). Range("A1").Value = Range("B1").Value Konačno možemo zapisati vrednost ćelije A1 (u temp) u ćeliju B1. Range("B1").Value = temp Kliknite komandno dugme 2 puta. Result:
As a beginner to Excel VBA, you might find it difficult to decide where to put your VBA code. The Create a Macrochapter illustrates how to run code by clicking on a command button. This example teaches you how to run code from a module. 1. Open the Visual Basic Editor. 2. Click Insert, Module.
3. Create a procedure (macro) called Cyan. Sub Cyan() End Sub Sub menja pozadisku boju vašeg radnog papira u cyan. Kako bi se ovo postiglo mora se dodati ovaj kod. Cells.Interior.ColorIndex = 28 Umesto ColorIndex number 28 (cyan), možete koristit bilo koji ColorIndex broj. Kako bi se obavi ovaj proces izvršiti sledeće korake:
Rezultat Može da se primeni na ceo excel dokument
Snimanje Makroa Macro Recorder je veoma koristan alat koji se nalazi Excel VBA, koji snima svaki korak rada u Excelu. Sve što je potrebno jeste da se određeni postupak snimi jednom. Dalje se isti postupak može ponoviti neograničen broj puta. Macro Recorder je veoma koristan alat ukoliko korisnik ne zna da isprogramiran određeni postupak u Excel VBA. Jednostavno otvorite Visual Basic Editor nakon snimanja kako bi se uvideo postupak programiranja koji ste snimili. Na žalost postoji dosta ograničenja u dadu sa Macro Recorder. Na primer ne može se obavljati cikličan proračun raspona podatak pomoću Macro Recorder. Dalje, Macro Recorder koristi mnogo više koda nego što je to potrebno, što može usporiti kompleksnije proračune.
Snimanje Makroa Na Developement tabu, kliknite Record Macro
2. Unesite ime. 3. Odabrite Workbook sa opadajuće liste. Kao rezultat, macro će biti jedino dostupan u trenutnom workbooku.
Ako sačuvate makro u Personal Macro Workbook, macro će bidi dostupan u svim vašim Excel fajlovima. Ovo je moguće jer Excel čuva vaše macroe u skrivenom dokumentu (workbook) koji se automatski otvara kada se startuje Excel. Ako sačuvate vaš macro u New Workbook, macro će biti jedino dostupan u novom dokumentu koji će se automatski otvoriti.
4. Kliknite OK. 5. Desnim klikom kliknite na aktivnu ćeliju (selektovana ćelija). Budite sigurni da niste selektovali ni jednu drugu ćeliju! Dalje kliknite Format Cells.
6. Odaperite Percentage 7. Kliknite OK.
8. Kliknite Stop Recording
Pokrenite snimljeni makro 1. Unesite neke vrednosti između 0 i 1. 2. Selektujte brojeve
Developer tab, click Macros.
Pogledajte makro
Apsolutne i relativne reference Bez dodatne napomene Excel smina makroe u apsolutnom modu. Nekada je korisno da se makro snimi u relativnom modu Snimanje u Absolute Mode Da bi se makro snimio u apsolutnom modu uradite sledeće: 1. click Record Macro. 2. Dalje, selektujte ćeliju B3. Napišite Sales i stisnite enter. 3. Napišite Production i stisnite enter. 4. Napišite Logistics i stisnite enter.
5. Click Stop Recording. 6. Obrišite ("B3:B5"). 7. Odaberite bilo koju ćeliju na papiru i pokrenite vaš makro.
Makro snimljen u apsolutnom modu uvek daje isti rezultat
Snimanje u relativnom modu 1. selektujte "Use Relative References". 2. Dalje slektujte bilo koju ćeliju 3. Kliknite na Record Macro 4. Napišite Sales i stisnite enter. 5. Napišite Production i stisnite enter. 6. Napišite Logistics i stisnite enter.
Click Stop Recording
Selektujte bilo koju drugu ćeliju (npr, cell D4) i pokrenite snimljeni makro macro. Rezultat:
FormulaR1C1 Ivaj primer ilustruje razliku između A1, R1C1 and R[1]C[1] stila u Excel VBA. Postavite komandno dugme na vaš list i dodajte kod (A1 stil): Range("D4").Formula = "=B3*10"
2. Dodajte sledeću liniju koda (R1C1 stil): Range("D4").FormulaR1C1 = "=R3C2*10"
2. Dodajte sledeću liniju koda (R[1]C[1] stil): Range("D4").FormulaR1C1 = "=R[-1]C[-2]*10" Relativna referenca
Dodavanje makroa na Toolbar
Nazovite makro MyName. Odaberite da sačuvate makro kao Personal Macro Workbook.
Otvorite Visual Basic Editor. 5. napravite macro: Makro Stavlja vaše ime u aktivnu ćeliju.
Macro sigurnost
MsgBox The MsgBox is a dialog kućica u Excel VBA kojim se korisnik može informisati o radu programa. Postaviti DUGME u vaš excel i dodajte mu komandu: Jednostana poruka. MsgBox "This is fun"
MsgBox Napredna poruka. Prvo, uneti vrednost u ćelju A1. MsgBox Uneta vrednost je" & Range("A1").Value
MsgBox Ukoliko se želi uneti navi red u MsgBox, koristi se vbnewline. MsgBox "Line 1" & vbnewline & "Line 2" Rezultat kada se klikne na dugme: