IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

1

Osnove VBA

1.1 Sadržaj
1.2 Uvod u VBA
1.3 Izvođenje Macro-a
1.4 Reference
1.5 VBE - prozor
1.6 Snimanje Macro-a
1.7 Primjeri Macro koda
2

Procedure

3

Kontrola toka programa

3.2 Petlje
3.3

Niz, String, Function

4 Rad sa modulima
5

Events - Događaji

6

Svojstva - Properties

7

Metode

8

Svojstva i metode

9

Objekti - Objects

   
 

RAZNO

  Razni primjeri VBA u Excelu
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Kako snimiti i pokrenuti Macro u Excelu 2007

Kako snimiti i pokrenuti Macro u Excelu 2007

Search This Web Site

Adsense sponzor






Snimanje i pokretanje  Macro-a (Makronaredbe)

Macro kod ne morate sami pisati ako ga ne znate (ali je poželjno znati). U Excelu imate mogućnost odraditi neku radnju i snimiti je u obliku Macro koda u dotičnu Workbook u kojoj radite. Ovu riječ "snimanje" shvatite doslovno ali i ne zdravo za gotovo.

Kada se misli na snimanje Macro koda tada ono ima svoje specifičnosti. Znate i sami da recimo nekakvo snimanje zvuka ili tona možete odradti na radiokasetofonu i snimiti sebe kako "pjevate". To snimanje uključuje svaku proteklu sekundu vremena tokom snimanja, dakle i pauze i kašljucanje i sve ostalo :-)

Kod snimanja Macro naredbe u Excelu također se vrši snimanje svakog koraka ali se ne pamte pauze. Znači vi možete započeti snimanje nekakve planirane radnje (sa što manje koraka) i u pola radnje stati (otići na kavu) i vratiti se pa nastaviti snimanje. Excel će napisati Macro kod kao da te pauze nije bilo. To snimanje će se manifestirati nekakvim skupom poredanih linija koda, onako kako smo mi klikali mišem u Excelu dok smo vršili planiranu radnji koja se snimala.

NAPOMENA: Budite oprezni kod izvođenja (pokretanja) Macro koda (Makronaredbe). Poslije pokretanja Macro-a ne možete vratiti na prethodno stanje (ne funkcionira naredba UNDO) osim kod nekih specijalno uređenih Macro kodova. Zato neke stvari uvijek radite na kopiji Workbook.

Kako snimiti Macro (Makronaredbu) u Excelu

Uzmimo za primjer da pomoću Macro koda želimo kopirati raspon ćelija A1:A5 sa "Podaci" na "tablica2" u raspon (range) ćelija C1:C5. Dobro isplaniramo koliko puta i gdje ćemo kliknuti mišem, da ne stvaramo višak linija koda. (pazite, svaki klik na ćeliju,naredbu, selektiranje ćelija itd.. VBA pamti kao liniju koda)

Dakle, ako ste sve isplanirali kako treba (nacrtali na papiru :-) krenimo sa snimanjem prve makronaredbe u Excelu.

- Postavite tj. selektirajte prvo ćeliju A1 i neka nam ona bude polazna točka.
- Na tabu ribona Developer kliknite na gumb Record Macro.
- Pojavljuje vam se dijalog prozor u kojem možete mijenjati neke parametre

record macro

Adsense sponzor



Nakon popunjenih ili izabranih parametara kliknite na OK. Vodite računa da naziv Macro-a (makronardbe) nema blanko znakova niti razmaka između riječi, kao ni to da prva znamenka u nazivu bude broj (o ovome će biti riječi u obradi teme Subprocedure). Također vodite računa da ne dodijelite Macro-u prečac (shortcut) koji je već definiran u Excelu (poput Ctrl+C, Ctrl+V, Ctrl+P, itd... pogledajte tutorijal Prečaci u Excelu)

- Kada ste kliknuli na gumb OK dijalog prozor nestaje i vi ste pozicionirani na radni list (Sheet) "Podaci".
- Mišem selektirajte ćelije od A1:A5.
- Nakon selekcije kliknite desnom tipkom miša (DTM) na selektirano područje pa izaberite Copy (Kopiraj),
- Sada klikniteite na radni list (Sheet) "tablica2"
- Selektirajte ćeliju C1
- DTM pa klik na Paste (Zalijepi)
- Sada kliknite na gumb za zaustavljanje snimanja Macro-a

radnja izvršena pomoću Macro koda

Kako pregledati kod i pokrenuti Macro (Makronaredbu) u Excelu


Sada kada smo snimili našu Macronaredbu idemo vidjeti kako možemo pokrenuti ili pregledati kod (code) naše snimljene radnje.

Da bi manualno pokrenuli dijalog prozor za pristup snimljenim Makronaredbama, potrebno je pritisnuti kombinaciju ALT+F8 ili kliknuti na gumb Macros na tabu Developer. Nakon toga pojavljuje nam se dijalog prozor sa svim Macro-ima koje imamo u našoj Workbook (radnoj knjizi).

Uočite na dijalog prozoru "Macro" gumbe pomoću kojih možete:

- Run => Pokrenuti makronaredbu
- Step Into => korak po korak odraditi svaku liniju koda
- Edit => izvršiti promjene na kodu
- Delete => Obrisati makronaredbu
- Options => eventualno promijeniti opis ili dodati prečac
- Macros in: => pogledati Makronaredbe u specifičnoj knjizi

Idemo kliknuti na gumb Edit da vidimo kako izgleda naš Macro

Macro dijalog box u Excelu

Klikom na gumb Edit, otvara vam se VBE i pozicionirani ste na Module1 u koji se snimio naš Macro. Uočite linije koda.
Tutorijal, Kako kreirati Macro Button u Excelu 2007 (KLIKNI OVJDE)

snimljeni macro kod u VBE

Ovo je Macro kod koji se snimio tokom snimanja planirane operacije (radnje).

Uočite linije tj. dijelove koda koji su zelene boje. To su KOMENTARI koda i njegovih dijelova. Komentar počinje znakom APOSTROFA (')

-----------------------------------------------------------------

Sub Macro1() 'ovo je naziv macronaredbe i početak sa prefiksom SUB
'
' Macro1 Macro
' Ovaj makro kopira sa sheeta Podaci na Sheet tablica2
'

'

Range("A1:A5").Select
'selektiranje range ćelija A1:A5
Selection.Copy
'ovo je linija koda koja se kreirala u momentu kada smo kliknuli na opciju Copy
Sheets("tablica2").Select
'momenat kada smo kliknuli na Sheet "tablica2"
Range("C1").Select
'momenat kada smo kliknuli na ćeliju C1
ActiveSheet.Paste
'momenat kada smo kliknuli na opciju Paste
Columns("C:C").EntireColumn.AutoFit
'momenat kada sam proširio stupac C
End Sub
'kraj makronredbe

-----------------------------------------------------------------

IZMJENE MACRO KODA RUČNO

I na kraju mogu samo reći slijedeće: Kada bi ovu Makronaredbu preuredili manualno tj. izmjenili joj neke dijelove koda ona bi odradila istu radnju ali sa drugim ćelijama. npr: range ćelija B10:B20 kopirati na Sheet LIST1 u stupac G, tada bi ovaj Macro kod izgledao ovako:

-----------------------------------------------------------------

Sub Macro1() 'ovo je naziv macronaredbe i početak sa prefiksom SUB
'
' Macro1 Macro
' Ovaj makro kopira sa sheeta Podaci na Sheet tablica2
'

'

Range("B10:B20").Select
'selektiranje range ćelija B10:B20
Selection.Copy
'ovo je linija koda koja se kreirala u momentu kada smo kliknuli na opciju Copy
Sheets("LIST1").Select
'momenat kada smo kliknuli na Sheet "tablica2"
Range("G1").Select
'momenat kada smo kliknuli na ćeliju C1
ActiveSheet.Paste
'momenat kada smo kliknuli na opciju Paste
Columns("G:G").EntireColumn.AutoFit
'momenat kada sam proširio stupac C
End Sub
'kraj makronredbe

------------------------------------------------------------------

Ovaj Macro iznad može se pisati i u kraćem obliku (ali o tome kasnije)

 

 

Macronaredba - naredbena linija u dva reda (ili više redova)

Jedna naredbena linija koda u Macro kodu može biti dugačka koliko je potrebno. Međutim, radi estetike, može se jedna naredbena linija koda napisati u dva reda (ili više rdova). Da biste to učinili, umetnite razmak ispred dijela koda koji želite prebaciti u drugi red i dodajte podvlaku (underline) (_). U novom redu naredbene linije nastavite pisati kod. Sada imate dva reda naredbene linije koda a u stvari VBA to vidi kao jednu liniju koda jer je spojena sa underline. Iza underline znaka ne smijete stavljati komentare.

NPR: Ovaj dio Macro koda ispod je jedna naredbena linija koda ali presječena na četiri dijela. (uočite underline)

ActiveSheet.ExportAsFixedFormat _      => (prvi dio)
Type:=xlTypePDF, _     
=> (drugi dio)
Filename:=txtIme, _     
=> (treći dio)
OpenAfterPublish:=False     
=> (četvrti dio)

Macro kod ili naredba u više redova odvojena sa underline

Ili ovaj način pisanja u dva naredbena reda jedne naredbe (izjave)

Sheets("Sheet1").Range("B10").Value = _
Sheets("Sheet1").Range("A10").Value

Koju smo mogli pisati i ovako

Sheets("Sheet1").Range("B10").Value = Sheets("Sheet1").Range("A10").Value

Isprobajte (poigrajte se izmjenama) pa pokrenite Macro preko Alt+F8 => Run


Adsense sponzor



Ova web stranica koristi COOKIES - COPYRIGHT - 2011 - IvanC - ic.ims.hr