IF naredba u VBA -
Kontrola toka programa u VBA
Ova naredba se koristi kada je potrebno izvršiti
jednu ili više naredbi samo ako je zadovoljen
određeni uvjet. Naj-jednostavniji oblik ove naredbe
je jednolinijski i izgleda
If Uvjet Then Upute1 Else Upute2
Uvjet može biti bilo koja kombinacija logičkih
uvjeta, operacija usporedbi ili numeričkih izraza.
Ukoliko je taj uvjet točan, tj. ima
numeričku vrijednost različitu od nule, izvršit će se
Upute1, a u suprotnom izvršit će se Upute2. Ovdje je
Else blok option, tj. ne
mora postojati ukoliko nema potrebe za njim.
Primer korištenja obje verzije ovog oblika
If naredbe.
If (X Mod 2 = 0) Then MsgBox "Broj X je paran"
If (X Mod 2 = 0) Then MsgBox "Broj X je paran" Else MsgBox "Broj X je neparan"
U prvoj naredbi bit će ispisana poruka "Broj X je
paran" ako je X paran broj, što se
provjerava korištenjem operatora Mod , i prijeći će na
izvršavanje prve slijedeće naredbe. U slučaju da X
nije paran broj ništa se neće desiti, već će se
prijeći na izvršavanje prve slijedeće
naredbe. U drugoj naredbi će biti ispisana poruka
"Broj X je paran" ako je X paran broj, ili
poruka "Broj X je neparan" u suprotnom.
Postoji i drugi oblik ove naredbe koji se piše u
više linija. Njegova sintaksa je slijedeća:
If Uvjet1 Then
Upute1
ElseIf Uvjet2 Then
Upute2
...
ElseIf UvjetN Then
UputeN
Else
PodrazumijevaneUpute
End If
I ovdje su svi ElseIf i Else blokovi optional, tako da
je najjednostavniji oblik ove naredbe
If Uvjet Then
Upute
End If
Uočimo postojanje riječi End If koje označavaju kraj
naredbe. U obliku If naredbe sa više
naredbenih
linija, End If je obavezno.
U narednom primjeru ispituje se vrijednost varijable
koja sadrži broj Bodova koje je student
dobio na ispitu i ispisuje ocjenu koju je student
dobio znajući da važi slijedeća veza:
Uočimo iz ovog primjera da se operator zbrajanja može
koristiti i za nadovezivanje stringova.
Dodatni primjer If/End:
If bMadeChanges Then
response = MsgBox("Spremi izmjene?", vbYesNoCancel, "SAVE")
Else
.Close False
End If
(primjer uz dozvolu prenesen iz materijala sa
predavanja prof. S.Đukanović)
|