IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   

3

Naredbe

3.1.1 IF naredba
3.1.2 SELECT CASE naredba
3.1.3 GoTo naredba
   
3.2

LOOP - Petlje

3.2.1 For-Next petlja
3.2.2 Do While petlja
3.2.3 Do Until petlja
3.3

Niz, String, Function

3.3.1 Nizovi
3.3.2 Stringovi
3.3.3 Rad sa slovima č, ć, š, đ, ž
3.3.4 Like operator
3.3.5 Funkcija Format
3.3.6 Predefinirani Formati za Datum i Vrijeme
3.3.7 Numerički formati
3.3.8 Korisnički Formati za Datum i Vrijeme
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - NAREDBE i Kontrola toka u VBA, For -Next loop (petlja) naredba u VBA

Naredbe i Petlje u VBA u Excelu
(
Kontrola toka programa u VBA)

Search This Web Site

Adsense sponzor






For-Next petlja (loop) u VBA - Kontrola toka programa u VBA

Kad-tad ćemo doći u situaciju da određenu operaciju izvršimo određeni broj puta, koji može biti unaprijed poznat ili zavisiti od vrijednosti neke varijable u kodu. Tada moramo koristiti cikluse ili petlje. Najjednostavnija petlja je For-Next čija je sintaksa

For Brojac = Start To End Step Korak
Instrukcije
Next Brojac

Brojac je VBA varijabla po kojoj se petlja izvršava uzimajući na početku vrijednost Start, a završavajući sa vrijednošću End. U ovoj petlji je option podatak Korak, koji predstavlja korak promjene vrijednosti varijable Brojac. Opcionalno je i zapis Next Brojac koji se može skratiti sa Next. Uočite primjer dvije For-Next petlje.

S = 0
For I = 1 To 99
'parni brojevi
S = S + I
Next I
S = 0
For I = 1 To 99 Step 2
'neparni brojevi
S = S + I
Next

 

Adsense sponzor



Prvom petljom vršimo zbrajanje svih prirodnih brojeva manjih od 100, a drugom svih prirodnih neparnih brojeva manjih od 100. U oba slučaja je početna vrijednost varijable I jednaka 1, a krajnja 99, pri čemu u prvoj petlji I uzima vrijednosti 1,2,3,...,99, a u drugoj 1,3,5,...,99.

Forsirani izlazak iz For-Next petlje se vrši pomoću naredbe Exit For koja se može smjestiti bilo gdje unutar petlje. Kada se prilikom izvršavanja naiđe na ovu naredbu, iz petlje se automatski izlazi i prelazi na izvršenje prve naredbe nakon petlje.

Pogledajte primjere ispod i uočite kako se smješta With/End With, For/Next i If/End If unutar neke VBA procedure

Private Sub HideAll()
Dim sht As Worksheet
   With ThisWorkbook
      .Sheets("Macros Disabled").Visible = xlSheetVisible
         For Each sht In .Worksheets
            'if macro disabled hide all sheets except Macros disabled
            If sht.Name <> "Macros Disabled" Then sht.Visible = xlSheetVeryHidden
         Next sht

      .Save
   End With
End Sub

ili drugi primjer

Private Sub SetPasswordToAllVisibleSheets()
Dim pass As String
Dim Sh As Worksheet
Application.ScreenUpdating = False
   pass = Sheets("START").[A1].Value 'read string from cell A1
      For Each Sh In ActiveWorkbook.Sheets
            If Sh.Visible = True Then

               Sh.Protect Password:=pass
'set password to all visible sheet
            End If

         Worksheets("Statistika").Unprotect Password:=pass
'unprotect specific sheet
      Next

Application.ScreenUpdating = True
End Sub

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


Adsense sponzor



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