Instrukcja If

Wprowadzając instrukcję If posłużę się tym co znajdowało się w temacie I poświęconym MsgBox. Na formatce umieszczamy ponownie przycisk "Command Button", na którym powinien widnieć napis Pytanko. wiemy już jak stworzyć komunikat, który po naciśnięciu Buttona pojawi się na ekranie. Więc:

x = MsgBox ( "Czy mnie lubisz?", vbQuestion+vbYesNo, "Pytanko")

Nasz programik potrafi zadać pytanko, ale co z tego jeżeli niezależnie od tego, czy wybierzemy tak czy nie nic w nim się nie zmieni.
Właśnie w tym celu posłużymy się instrukcją if i podanymi w I wartościami logicznymi.

If x = 6 then
y = MsgBox ("Nie widzę innej możliwości:)", vbExclamation, "pytanko")
End If
If x = 7 then
y = MsgBox ("Nie bądź taki do przodu, ja też Cię nie lubie",vbExclamation, "pytanko")
End If

Przetłumaczmy to teraz na "język polski:)"
Jeżeli wybierzesz TAK ( x = 6 ) wtedy pojawi Ci się komunikat "Nie widzę innej możliwości:)";
natomiast jeżeli wybierzesz NIE ( czyli y = 7 ) to pojawi ci się komunikat "Nie bądź taki do przodu, ja też Cię nie lubię".
Chyba jest to dość logiczne:)))

Jest to tylko jeden ze sposobów zastosowania w tym przypadku instrukcji If, możemy zastosować również inny wariant.

If x = 6 then
y = MsgBox ("Nie widzę innej możliwości:)", vbExclamation, "pytanko")
Else
y = MsgBox ("Nie bądź taki do przodu, ja też Cię nie lubie",vbExclamation, "pytanko")
End If

Tłumacząc to na nasze:
Jeśli wybierzesz TAK ( x = 6) wyświetli Ci się komunikat "Nie widzę innej możliwości:)";
W przeciwnym wypadku (tzn. wybierając inną możliwość) pojawi Ci się komunikat "Nie bądź taki do przodu, ja też Cię nie lubię"
Wydaje mi się, że ze zrozumieniem za równo pierwszego jak i drugiego przykładu nie powinno być żadnych problemów.

Podsumowując - instrukcję If możemy wykorzystać w jednej z niżej podanych form:

  • If warunek Then
    Blok instrukcji
    End if
  • If warunek Then
    Blok instrukcji
    Else
    Blok instrukcji
    End If
  • If warunek Then
    Blok instrukcji
    Else
    If warunek Then
    Blok instrukcji
    End If
    End If