fbpx

Pętle w VBA

Co to jest pętla?

Podczas programowania (nie tylko w VBA) zachodzi bardzo często konieczność powtarzania niektórych czynności, np. jeśli  musimy wstawić do 100 kolejnych komórek jakąś określoną wartość to w Excelu skorzystamy z metody przeciągania, a w VBA wykorzystamy właśnie pętlę, która czynność umieszczania wartości w komórce wykona 100 razy. Podany przykład nawiązuje do popularnej czynności Excelowej, aby można było łatwiej zrozumieć ideę pętli, jednak tak naprawdę możemy ich używać dla dowolnych programowalnych czynności (również takich, których nie da się wykonać czystym Excelem).

W VBA wykorzystujemy trzy popularne pętle: pętla For, pętla For Each oraz pętla Do.

Pętla For

Pętla For wykonuje się z góry założoną ilość razy. Posiada zmienną licznikową, która na każdym wykonaniu pętli zmienia swoją wartość. Tworząc pętlę For określamy wartość początkową oraz końcową zmiennej licznikowej i pętla wykonuje się tak długo, aż zmienna osiągnie założoną wartość. Standardowo wartość zmiennej na każdym wykonaniu pętli zwiększa się o 1, ale możemy to zmodyfikować. Warto pamiętać, że warunek sprawdzający czy bieżąca wartość licznika nie przekracza wartości końcowej jest sprawdzany na początku, każdego wykonania pętli, więc pętla może nie wykonać się ani razu.

Pętle w VBA

Pętla For Each

For Each jest zmodyfikowaną odmianą zwykłem pętli For. Różnica polega na tym, że pętla For Each wykonuje się na każdym elemencie wskazanej kolekcji (kolekcja to zbiór obiektów jednego typu, np. zbiór komórek, arkuszy czy tabel przestawnych). Jeżeli potrzebujemy wykonać jakąś operację w odniesieniu do każdego arkusza to taka pętla będzie idealnym rozwiązaniem (np. „odkryj wszystkie arkusze”).Pętla For Each nie wymaga informacji o ilości obiektów, na których ma się wykonać, bo wykonuje się w stosunku do każdego. Ponieważ pętla działa na obiektach to potrzebuje też zmiennej obiektowej, która będzie odpowiadała, za przetwarzany aktualnie obiekt.

Pętle w VBA

Pętla Do

Pętla Do jest wykonywana na podstawie warunku logicznego, który sprawdzany jest na każdym wykonaniu pętli. Pętla może być wykonywana dopóki warunek jest spełniony (słowo kluczowe WHILE) lub aż do momentu gdy warunek nie zostanie spełniony (UNTIL). Dodatkowo warunek może być sprawdzany na początku lub na zakończenie wykonania pętli. Jeśli warunek wykonywany jest na początku pętla może nie wykonać się ani razu, jeśli na końcu, co najmniej jedno wykonanie musi nastąpić. Wszystkie poniższe pętle wykonują te same czynności: dwie pierwsze mają warunek na początku, kolejne dwie na końcu. 

Pętle w VBA
Pętle w VBA

Podsumowanie

Pętle są niezbędne w pracy nad większością programów. Pozwalają wielokrotnie powtarzać część kodu wprowadzając za każdym razem drobną modyfikację. Jeśli chcesz dobrze poznać działanie pętli zapisz się na szkolenie z VBA.

Zobacz również:

Szkolenia:

udostępnij:
Gratulacje!
Wniosek został wysłany prawidłowo.
Dziękujemy za przesłanie zapytania. Skontaktujemy się z Tobą najszybciej jak to możliwe.