Menu
Główna
Kurs:
Wstęp
Edytor
Pierwszy program
Instrukcje warunkowe
Pętle
Przydatne makra:
Sheet delete
Nie zapisuj
Iloczyn macierzy
IP - ping
| Pętle
Pętle to bardzo użyteczne struktury programistyczne, umożliwiające wykonywanie powtarzających się operacji.
Np. jak wypisać na ekranie kody znaki o kodach ASCII liter od 65 do 75? Można tak:
Sub WypiszKody1()
Dim strMsg As String
strMsg = Chr(65) & vbCrLf & _
Chr(65) & vbCrLf & _
Chr(66) & vbCrLf & _
Chr(67) & vbCrLf & _
Chr(68) & vbCrLf & _
Chr(69) & vbCrLf & _
Chr(70) & vbCrLf & _
Chr(71) & vbCrLf & _
Chr(72) & vbCrLf & _
Chr(73) & vbCrLf & _
Chr(74) & vbCrLf & _
Chr(75)
MsgBox strMsg
End Sub
Działa, choć mało to eleganckie. Pamiętajmy jednak, że w pewnych sytuacjach bez pętli nie można się obyć.
Jeżeli zastosujemy pętlę kod będzie bardziej zwarty i zajmie mniej miejsca.
Sub WypiszKody2()
Dim strMsg As String
For i = 65 To 75
strMsg = strMsg & Chr(i) & vbCrLf
Next i
MsgBox strMsg
End Sub
Wykorzystaliśmy tu pętlę For ...Next. Działa ona w sposób następujący: wszelkie instrukcje występujące pomiędzy słowami kluczowymi For .... i Next zostaną powtórzone tyle razy aż zmienna indeksująca (tutaj i) osiągnie wartość występującą po słowie kluczowym To.
Jeżeli liczba powtórzeń nie jest znana to wygodniej jest zastosować pętlę Do...Loop. Składnia tej instrukcji jest następująca:
Do
...
Loop [Until {wyrażenie_logiczne}|While {wyrażenie_logiczne}]
albo:
Do [Until {wyrażenie_logiczne}|While {wyrażenie_logiczne}]
...
Loop
Wykonanie pętli Do...Loop jest zależne od warunków logicznych występujących po słowach kluczowych Until i While (pamiętajmy o tym że w kodzie może pojawić się tylko jedno z nich). Angielskiemu słowu until odpowiada polskie wyrażenie "aż do". Pętla z tym słowem jest wykonywana aż wyrażenie logiczne osiągnie wartość logicznej jedynki (True - prawda).
Natomiast słowo while oznacza "dopóki" i taka pętla wykonywana jest dopóki wyrażenie logiczne posiada wartość logiczną True; gdy osiąga ono wartość False wykonywanie instrukcji w pętli jest przerywane. Wszelkie sytuacje jakie mogą wystąpić w programie można obsłużyć zarówno przy pomocy słowa Until jak i słowa While i tylko od programisty zależy, które z nich wybierze.
|
Linki
VBA:
Darmowy hosting zapewnia PRV.PL |