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 - Primjeri jednostavnog Macro koda u Excelu 2007

Primjeri jednostavnijeg Macro koda u Excelu 2007
(za početnike)

Search This Web Site

Adsense sponzor






Primjeri jednostavnog Macro koda u VBA Excel

(ALT+F8 i pokrenuti Macro klikom na RUN (pokreni))

Ovaj dio tutorijala je samo površinski pokazatelj nekih Macro kodaova u VBA za Excel. Nemojte se zamarati učenjem ovih kodova. Oni su ovdje čisto da ih pogledate i eventualno sebi stvorite sliku kako izgledaju Makronaredbe.

Ovi Macro kodovi se unose na Sheet u kojem želimo odraditi radnju (Klik DTM na naziv Sheeta pa View Code)
BTW: O procedurama i SubProcedurama pogledajte link PROCEDURE

--------------------------
PRIMJER 1.
Izreži i zalijepi jednu ćeliju. Premješta vrijednost iz A1 u B1 na aktivnom Sheet-u

Sub OneCell() 'naziv subprocedure "OneCell" bez argumenata

Range("A1").Select
'raspon je celija A1 na aktivnom Sheetu. selektiranje celije
Selection.Cut
'Selektirano. naredba za izrezivanje (premjestanje)
Range("B1").Select
'raspon destinacijska celija B1. selektiranje doticne
ActiveSheet.Paste
'Aktivni Sheet. zalijepi izrezano

Application.CutCopyMode = False
'Clear Clipboard ili ocisti medjuspremnik

End Sub
'zavrsetak subprocedure
-------------------------

PRIMJER 2.
Izreži i zalijepi cijeli stupac. Premješta vrijednosti iz stupca A u B na aktivnom Sheet-u

Sub OneColumn() 'naziv subprocedure "OneColumn" bez argumenata

Range("A:A").Select
'selektiranje raspona celija u ovom slucaju cijelog stupca A
Selection.Cut
'naredba za izrezivanje selektiranog raspona
Range("B:B").Select
'selektiranje raspona u koji cemo zalijepiti izrezano
ActiveSheet.Paste
'lijepljenje izrezanog na aktivnom Sheetu

Application.CutCopyMode = False
'Clear Clipboard ili ocisti medjuspremnik

End Sub
'zavrsetak subprocedure
-----------------------------------

PRIMJER 3.
Izreži i zalijepi cijeli red. Premješta podatke u cijelom redu 1 na mjesto reda 2 na aktivnom Sheet-u

Sub OneRow() 'naziv subprocedure "OneRow" bez argumenata

Range("1:1").Select
'selektiranje raspona celija u ovom slucaju cijelog prvog reda
Selection.Cut
'naredba za izrezivanje selektiranog raspona
Range("2:2").Select
'selektiranje raspona u koji cemo zalijepiti izrezano
ActiveSheet.Paste
'lijepljenje izrezanog na aktivnom Sheetu


Application.CutCopyMode = False
'Clear Clipboard ili ocisti medjuspremnik

End Sub
'zavrsetak subprocedure
--------------------------

PRIMJER 4.
Kopiraj raspon podataka A1:A4 u prvu ćeliju E5 na istom Sheet-u

Sub Kopiraj() 'naziv subprocedure "Kopiraj" bez argumenata

Range("A1:A4").Select
'selektiranje raspona celija u ovom slucaju A1:A4
Selection.Copy
'naredba za kopiranje selektiranog raspona
Range("E5").Select
'selektiranje raspona u koji cemo zalijepiti izrezano, selektirana prva celija E5
ActiveSheet.Paste
'lijepljenje kopiranog na aktivnom Sheetu

Application.CutCopyMode = False
'Clear Clipboard ili ocisti medjuspremnik

End Sub
'zavrsetak subprocedure
--------------------------------

PRIMJER 5.
Kopiraj raspon podataka A1:A10 u selektiranu ćeliju na Sheet2
(Ovaj Macro se pokreće tek kada odredimo (selektiramo) na Sheetu2 koja će ćelija biti prva za odredišni raspon u koji će se kopirati podaci). Ako recimo selektiramo ćeliju C10 tada će nam se podaci kopirati za kompletan raspon C10:D20

Sub Kopiraj() 'naziv subprocedure "Kopiraj" bez argumenata

Range("A1:B10").Select
'selektiranje raspona celija u ovom slucaju A1:B10
Selection.Copy 
'naredba za kopiranje selektiranog raspona
Sheet2.Paste
'lijepljenje kopiranog raspona na Sheetu2 u selektiranu celiju koja je prva u rasponu

Application.CutCopyMode = False
'Clear Clipboard ili ocisti medjuspremnik

End Sub
'zavrsetak subprocedure

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

Kopiranje cijelog Sheet2 na Sheet3 (ovaj Macro odrađen je pomoću Excela => Record Macro)

 

Adsense sponzor



Sub Macro1()

Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet3").Select
Cells.Select
ActiveSheet.Paste

End Sub

'naziv subprocedure "Macro1" bez argumenata

'aktiviranje Sheet2 => klik na jezicak (naziv) Sheeta
'selektiranje svih celija na Sheet2 => klik na sjeciste stupaca i redova iznad celije A1
'klik DTM misem na selektirane celije => Copy
'aktiviranje Sheet3
'klik na sjeciste za selektiranje svih celija na Sheet3
'klik DTM misem na selektirane celije => Paste

'zavrsetak subprocedure

Primjer kreiranja nove Workbook

Sub KreirajKnjigu() 'naziv subprocedure "KreirajKnjigu" bez argumenata
Workbooks.Add
'naredbena linija za kreiranje nove knjige
End Sub
'zavrsetak subprocedure

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


Primjeri malo kompliciranijeg Macro koda

PRIMJER 6.
Ako imamo veliku tablicu koja ima puno stupaca (Column) i prilikom pregleda željenih podataka ne želimo pomicati scroll bar lijevo-desno, tada možemo napraviti Macr  koji će nam skrivati određene (nevažne) stupce radi lakšeg pregleda a isto tako otkriti skrivene stupce kada to poželimo. Ovim Macro-ima možemo postaviti prečac kombinaciju tipki (shortcut) radi bržeg rada.

Ovaj Macro kod SKRIVA (Hide) određene stupce (kolone) . Pozicionirani smo na Sheetu1

Sub Macro2()
' Skrivanje odredjenih stupaca na Sheetu2
' Keyboard Shortcut: Ctrl+Shift+S
'

Sheets("Sheet2").Select
Range("B:B,F:H,L:L").Select
Range("L1").Activate
Selection.EntireColumn.Hidden = True
Range("A1").Select
End Sub

 
'naziv subprocedure "Macro2" bez argumenata



'Aktiviranje Sheeta2
'Selektiranje stupaca, B, F:H, L
'klik na naziv stupca L => DTM => Hide
'Skrivanje selektiranih stupaca
'pozicioniranje na celiju A1, tj selektiranje doticne
'zavrsetak subprocedure
 

Ovaj Macro kod za SKRIVANJE određenih stupaca mogao se napisati i ovako.

Sub Macro2()
' Skrivanje odredjenih stupaca na Sheetu2
' Keyboard Shortcut: Ctrl+Shift+S
'

Sheets("Sheet2").Select
ActiveSheet.Columns("B:B").Hidden = True
ActiveSheet.Columns("F:H").Hidden = True
ActiveSheet.Columns("L:L").Hidden = True
Range("A1").Select
End Sub

 
'naziv subprocedure "Macro2" bez argumenata



'Aktiviranje Sheeta2
'Skrivanje stupca B
'Skrivanje stupaca F:H
'Skrivanje stupca L
'pozicioniranje na celiju A1, tj selektiranje doticne
'zavrsetak subprocedure
 

Ovaj Macro kod OTKRIVA  (Unhide) sve stupce (kolone) . Pozicionirani smo na Sheetu2

Sub Macro3()
' Otkrivanje skrivenih stupaca na Sheetu2
' Keyboard Shortcut: Ctrl+Shift+K
'

Sheets("Sheet2").Select
Cells.Select
Selection.EntireColumn.Hidden = False
End Sub

 
'naziv subprocedure "Macro3" bez argumenata



'Aktiviranje Sheeta2
'Selektiranje svih celija na Sheet2
'Unhide svih stupaca (otkrivanje)
'zavrsetak subprocedure
 



Ovaj Macro kod SKRIVA i OTKRIVA  (Hide/Unhide) određene redove (Row) kada upišemo "sakrij" ili "otkrij" riječ u ćeliju A1. Pozicionirani smo na Sheetu2. Njega možemo iskorititi kada radimo na tablici u kojoj imamo nakon završene obrade potrebu da sakrijemo veći broj određenih redova (da ih ne selektiramo posebno)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then _
Range("4:8,11:13").EntireRow.Hidden = Target.Value = "otkrij"
'otkriva redove 4-8 i 11-13
If Target.Address = "$A$1" Then _
Range("4:8,11:13").EntireRow.Hidden = Target.Value = "sakrij"
'skriva redove 4-8 i 11-13
End Sub

Ako želite pogledajte kompletan primjer sa mogućnošću downloada datoteka gdje je detaljno opisana upotreba makronaredbi u nekoj workbook

- Izrada fakture u Excelu
- Ograničavanje korištenja Workbook ili Worksheet nakon određenog datuma


Adsense sponzor



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