[ Pobierz całość w formacie PDF ]

102 Część II f& Poznanie środowiska VBA
Taka definicja powoduje zwiększenie licznika pętli, w tym przypadku intCounter,
o pięć po każdym wykonaniu pętli. W rezultacie tego pętla ta wykona się pięć razy
(intCounter będzie miał kolejne wartości 1, 6, 11, 16, 21).
Nie jest rzeczą niezwykłą użycie struktury If & Then wewnątrz petli, tak jak w poniż-
szym przykładzie:
Już słyszę mojego wydawcę pojękującego, że wprowadziłem tu kilka rzeczy dodat-
kowych. Zatem przyjrzyjmy się dokładniej użytemu kodowi.
Jest to pętla mająca wykonać 10 powtórzeń. Zadaniem instrukcji wewnątrz
pętli jest sprawdzenie, czy jest to przebieg parzysty, czy nieparzysty. Do tego celu
posłużyła mi struktura . Mamy zatem strukturę
wewnątrz struktury . Jeżeli jedna struktura występuje wewnątrz innej, mówimy
o strukturach zagnieżdżonych, które są w programowaniu powszechnie stosowane.
Użyte wyrażenie warunkowe wykonuje specyficzne dzielenie. Użyłem słowa kluczo-
wego , które jest skrótem od modulus. zwraca resztę z dzielenia liczby A
przez liczbę B. Jeżeli liczbę parzystą podzielimy przez 2, resztą z dzielenia będzie 0.
Zatem jeżeli licznik zostanie podzielony przez 2 i resztą z dzielenia będzie 0, warunek
zostanie spełniony i kolejna instrukcja wykonana. Jeżeli reszta z dzielenia będzie
różna od zera, zostanie wykona instrukcja z części .
po prostu zwiększa wartość licznika.
Gdy uruchomisz tę procedurę, w oknie Immediate pojawią się następujące wyniki:
Zajmijmy się teraz innym rodzajem pętli.
Rozdział 6. f& Podstawy programowania w VBA 103
Pętla Do
jest pętlą z powtarzaniem sterowanym warunkiem. Innymi słowy  pętlą działającą
dopóty, dopóki określony warunek jest spełniony (na przykład coś jest czemuś równe
lub od czegoś większe).
Istnieją dwa rodzaje pętli  i . Przyjrzyjmy się im.
Do While
Pętla sprawdza, czy warunek jest spełniony. Jeżeli tak, instrukcje pętli są
wykonywane. Dla przykładu przyjrzyjmy się poniższej procedurze.
Jak widzisz, inaczej niż omawiana wcześniej , pętla nie jest samo-
wystarczalna. W tym przypadku musiałeś nadać wartości dwóm zmiennym  jedna
posłużyła jako licznik, zaś druga jako zmienna testowa. W tym przypadku chciałem,
aby procedura zakończyła działanie po wykonaniu piątego powtórzenia pętli.
Przeciwnie niż w pętli , tutaj przebieg nie jest sterowany licznikiem, a powtarzanie
pętli trwa, dopóki wartość jest równa 1. Wewnątrz pętli zagniezdziłem strukturę
, sprawdzającą wartość licznika. Po osiągnięciu przez nią wartości 5 struk-
tura spowodowała zmianę wartości na 0, co zakończyło działanie pętli.
Ponieważ sprawdzany jest warunek, a nie liczba iteracji, w pętlach nie musisz używać
licznika. W tym przypadku wprowadziłem go, dodając zmienną i podno-
sząc jej wartość w ostatniej linii. Można to zastąpić wieloma innymi rozwiązaniami.
Zauważ, że ta struktura kończy się słowem . Pamiętaj, że stosowanie licznika nie
jest tu wymagane.
Jeżeli uruchomisz pętlę , wyniki otrzymane w oknie Immediate powinny wyglą-
dać jak na rysunku na następnej stronie.
104 Część II f& Poznanie środowiska VBA
Powstaje pytanie, co się stanie, jeżeli z jakiegoś powodu wartość zmiennej nigdy
nie będzie równa 1. Czy pętla w ogóle zostanie wykonana? Odpowiedz brzmi: nie.
Nie zostanie wykonana. Co zatem począć, aby pętla została wykonana choć jeden raz?
Zauważ, że procedura zawiera sprawdzenie, czy użytkownik wprowadził liczbę
z przedziału od 1 do 15, a jeżeli wprowadzona liczba będzie spoza tego zakresu, program
po prostu zostanie zakończony i będziesz musiał uruchomić go ponownie. Chcemy,
aby prośba o wprowadzenie liczby była ponawiana do czasu, aż zostanie wpisana liczba
spełniająca ustalone kryteria.
Zmień procedurę w następujący sposób:
Rozdział 6. f& Podstawy programowania w VBA 105
Zauważ, że nie użyliśmy licznika w żadnej postaci. Zamiast tego jest sprawdzana
wartość zmiennej . Interesujące, gdzie to sprawdzanie się odbywa. Inaczej niż
w poprzednim przykładzie, możemy sprawdzanie warunku umieścić na końcu pętli,
a nie na początku. Dzięki temu pętla zawsze zostanie wykonana przynajmniej jeden
raz, co okazuje się bardzo przydatne w sytuacjach podobnych do zilustrowanej.
Do Until
Jest to pętla nieznacznie różniącą się od poprzednio omówionej. W pętla jest
wykonywana, dopóki warunek jest spełniony, zaś pętla działa, dopóki waru-
nek nie zostanie spełniony.
Podana poprzednio procedura, pokazująca działanie pętli , po niewielkich
zmianach może korzystać z pętli :
Zauważ, że teraz pętla będzie działać dopóty, dopóki wartość będzie różna
od 1. Poza tym wszystko w tym przykładzie jest takie samo jak w poprzednim. Wynik
działania powinien być taki sam jak w przykładzie z pętlą .
Podobnie jak w pętli możesz sprawdzanie warunku umieścić na końcu, dzięki
czemu pętla będzie zawsze wykonywana przynajmniej jeden raz.
W dalszej części książki będziemy często używać pętli. Tak jak zmienne są one inte-
gralną częścią większości programów.
106 Część II f& Poznanie środowiska VBA
Tablice
Na wiele sposobów dyskusja o tablicach ściśle dotyczy zmiennych. Tablica to zmienna
zawierająca wiele wartości. Liczba wartości przechowywanych przez tablicę musi być
z góry określona i zadeklarowana. Musisz się także nauczyć odwoływania do wartości
wewnątrz tablicy. [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • littlewoman.keep.pl