IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

9 Objekti - Objects
9.1 VBA objekti u Excelu
9.2 Referenciranje objekata
9.3 Dodjela objekta varijabli
9.4 Aktivni objekti
9.5 Range objekti
9.6 Rad sa objektima i kolekcijama
9.7 With-End With konstrukcija
9.8 For Each-Next petlja
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Objekti, Objects, kolekcije, collections

VBA objekti u Excelu 

Search This Web Site

Adsense sponzor






For Each-Next petlja  u VBA Excel

Ova petlja predstavlja varijaciju For-Next petlje i namijenjena je radu sa kolekcijama (collections), tj. kada je potrebno izvršiti određenu operaciju nad svim objektima u kolekciji. Sintaksa For Each-Next petlje je:

For Each Element in Group
Instrukcije
Next Element

Group predstavlja ime kolekcije i to može biti i niz. Iz For Each-Next petlje se također izlazi koristeći Exit For. Ovo je jedan jednostavan primjer korištenja ove naredbe sa nizom od 10 cijelih brojeva.

Dim Niz(1 To 10) As Integer
For I = 1 To 10
Niz(I) = I ^ 2
Next I
For Each n In Niz
Debug.Print n
Next n

Prvom For-Next petljom se formira niz, dok se For Each-Next petljom ispisuju elementi niza. Uočimo da pri korištenju For Each-Next petlje ne moramo znati koliko ima elemenata u nizu.

Razmotrimo slijedeći primjer.

Dim List As Worksheet
For Each List In ActiveWorkbook.Worksheets
MsgBox List.Name
Next List

Ovdje smo prošli kroz čitavu kolekciju Worksheets aktivne radne knjige i pomoću MsgBox-a prikazali ime svakog radnog lista. U svakoj iteraciji naredbe, objektna varijabla List postaje tekući radni list. Na ovaj način ostvarujemo vrlo elegantan rad sa radnim listovima. Opet, nema potrebe da znamo koliko ima radnih listova u radnoj knjizi, ovaj će zapis proći kroz svaki element kolekcije. U narednom primjeru se svakoj ćeliji iz selekcije dodjeljuje slučajan cijeli broj između 0 i 100.

Dim Cell As Range
For Each Cell In Selection
Cell.Value = Fix(Rnd * 101)
Next Cell

Završit ćemo poglavlje sa primjerom kojim se zatvaraju sve radne knjige osim aktivne.

Dim Knjiga as Workbook
For Each Knjiga In Workbooks
If Knjiga.Name <> ActiveWorkbook.Name Then Knjiga.Close
Next Knjiga

(primjer uz dozvolu prenesen iz materijala sa predavanja prof. S.Đukanović)

Adsense sponzor




Adsense sponzor




Adsense sponzor



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