POWRÓT

SEMESTR VI

Sterowanie sposobem wykonywania procedur


Spis treści rozdziału - tutaj kliknij

Polecenie GoTo
Konstrukcja If..Then
Konstrukcja Select Case
Pętla For... Next
Pętla Do While
Pętla Do Until

Źródła - Excel 2013 Pl, Programowanie VBA - John Walkenbach, VBA dla Excela 2010 Pl - Witold Wrotek, Excel 2013 Pl, programowanie w VBA dla Bystrzaków.


 

Polecenie GoTo

     
   

  Polecenie GoTo, to najprostsza metoda sterowania programem, która polega na przenoszeniu sterowania programem do nowego polecenia, przed którym musi znajdować się odpowiednia etykieta (łóańcuch tekstu z dwukropkiem lub liczba bez dwukropka). Polecenie GoTo nie może przenosić wykonywania programu poza obszar procedur.

Goto etykieta
Wymagania
Etykieta jako pierwsza w wierszu, bez odstępów i tabulacji
Etykieta musi być zakończona dwukropkiem
Etykieta musi zaczynać się od litery, w tekście mogą być cyfry
Długość etykiety maksymalnie 40 znaków
Dopuszczalne jest stosowanie zamiast etykiety numeru wiersza programu (nie trzeba dwukropka) - to pozostałość dla zgodności ze starszymi wersjami języka

Przykłady konstrukcji GoTo

Option Explicit
Sub Numerwiersza()
Dim i As Integer
  On Error GoTo Komunikat
  i = InputBox("Wpisz numer wiersza:")
  GoTo OK
Komunikat:
  MsgBox ("Błąd wpisz liczbę")
  GoTo Koniec:
  OK:
  MsgBox ("Wpisałeś numer wiersza")
Koniec:
End Sub


    W przykładzie: w linii drugiej podana jest nazwa procedury, zmienna i została zadeklarowana jako przechowująca liczby całkowite. Jeżeli przypisana jej zostanie wartość innego typu, np. litera, program potraktuje to jako błąd. Skok w programie wykonywany jest wówczas, kiedy zostanie wykryty błąd.

Tutaj do pobrania i przetestowania program z poleceniem GoTo. Testuj na liczbach i literach »»» 

Do góry


 

Konstrukcja If..Then

     
   

  Konstrukcja If...Then służy do warunkowego wykonania jednej lub większej liczby instrukcji. Podstawowa składnia tej konstrukcji jest następująca:

If warunek
  Then
Instrukcje_wykonywane_jeśli_warunek_został_spełniony

Można ją również opcjonalnie rozszerzyć o instrukcję, która bedzie wykonywana , jesli warunek nie jest spełniony. Ma ona wówczas składnię.

If warunek
  Then
Instrukcje_wykonywane_jeśli_warunek_został_spełniony
  Else
Instrukcje_wykonywane_jeśli_warunek_nie_został_spełniony

If warunek Then instrukcje

If warunek Then instrukcje1 Else instrukcje2

Przykłady konstrukcji If ...Then

Option Explicit
  Dim i As String
  Sub Opadysniegu()
  i = InputBox("Wpisz grubość warstwy")
  If i <= "20,0" Then MsgBox ("Jade samochodem") Else MsgBox ("Ide na nogach")
End Sub


Tutaj do pobrania i przetestowania program z konstrukcją If..Then. Modyfikuj i sprawdzaj. »»» 

Do góry


 

Konstrukcja Select Case

     
   

  Konstrukcja Select Case przydaje się, gdy trzeba dokonać wyboru spośród trzech lub większej liczby opcji. Sprawdza się też w przypadku dwóch opcji i stanowi alternatywną propozycje dla konstrukcji If....Then....Else. Składnia Select Case jest następująca;

Select Case sprawdzane_wyrażenie
  Case wartość1
  instrukcje1
  Case wartość2
  instrukcje2
  ............
End Select

Instrukcja wyboru Select Case

Przykłady konstrukcji Select Case

    Do oceny wagi człowieka służy indeks masy ciała BMI, który jest jednym ze sposobów na określenie, czy waga naszego ciała jest prawidłowa, czy mamy niedowagę lub nadwagę, czy grozi nam otyłość. Wskaźnik ten jest ilorazem wagi Twojego ciała (w kilogramach) i kwadratu Twojego wzrostu (podanego w metrach).

Tutaj do pobrania i przetestowania program z konstrukcją Select Case, który ocenia stan wagi naszego ciała. Modyfikuj i sprawdzaj działanie programu. »»» 

Do góry


 

Pętla For... Next

     
   

  Pętla jest procesem wielokrotnego wykonywania określonego bloku instrukcji. Liczba wykonań pętli może być z góry znana lub okreslona przez wartość zmiennych programu. Najprostszym typem pętli jest pętla For.....Next. Składnia For ...Next jest następująca;

For licznik = start To stop
  instrukcje
Next licznik

lub

For licznik = start To stop [Step krok]
  instrukcje Next licznik

Wewnątrz pętli może wystąpić instrukcja Exit For powodująca wyjście z pętli.
licznik - wymagany, Zmienna numeryczna, pełni rolę licznika pętli
start - wymagany, początkowa wartość zmiennej licznika
stop - końcowa wartość zmiennej licznik
krok - może być dodatni lub ujemny. Jeżeli nie został podany, domyślnie przyjmowana jest wartość 1 (jeden)
Podczas realizacji pętli wartość zmiennej licznik zostaje zwiększona o krok

Pętla For...Next

Przykład pętli For ....Next

    Jest to program, który wypełnia komórki arkusza zdefiniowanymi kolorami. Obszar wypełniany kolorami - 10x10. Zastosowane kolory to; RGB(153, 255, 153) i RGB(255, 255, 0)

Tutaj do pobrania i przetestowania program z pętla For ....Next. Modyfikuj i sprawdzaj działanie programu, dokonując zmian w kodzie procedury. »»» 

Do góry


 

Pętla Do While

     
   

  Pętla Do While, w przeciwieństwie od pętli For ...Next, jest wykonywana dopóki jest spełniony warunek pętli. Można ją stosować wówczas, gdy nie jest znana liczba powtórzeń pętli, ale znamy jej warunek, po spełnieniu którego pętla zakończy działanie. Składnia Do While jest następująca;


Do While warunek
 instrukcje
 Exit Do
 instrukcje
Loop

       lub
Do
 instrukcje
 Exit Do
 instrukcje
Loop While warunek

Pętla Do While

Przykład pętli Do While

    Jest to program, który w komórki pierwszego wiersza wpisuje kolejno liczby od 1 do 10

Tutaj do pobrania i przetestowania program z pętlą Do While. Modyfikuj i sprawdzaj działanie programu, dokonując zmian w kodzie procedury. »»» 

Do góry


 

Pętla Do Until

     
   

  Pętla Do Until przypomina strukturę pętli Do While. Różnica jest widoczna jedynie przy sprawdzaniu warunku. Pętla Do While jest wykonywana, gdy warunek pętli jest spełniony (ma wartość True). Z kolei pętla Do Until jest wykonywana tak długo, jak długo warunek pętli nie jest spełniony. Składnia Do Until jest następująca;


Do Until warunek
 instrukcje
 Exit Do
 instrukcje
Loop

       lub
Do
 instrukcje
 Exit Do
 instrukcje
Loop Until warunek

Pętla Do Until

Do góry


 

 (C) 2011 - 2018 Wydział Przyrodniczo - Techniczny KPSW. All Rights Reserved