VBA w Excel - Pętla For
Pętle w Excelu są bardzo wygodnym narzędziem. Celem pętli jest wykonywanie powtarzających się działań. Pętle w VBA wykorzystujemy do obliczeń matematycznych, wyodrębniania fragmentów danych, a także do wykonywania tych samych operacji na wielu obiektach. Celem artykułu jest zapoznanie czytelników z pętlami – poniżej przedstawiamy Państwu wybrane pętle dostępne w języku VBA w Excelu.
Pętle w Excelu są bardzo wygodnym narzędziem. Celem pętli jest wykonywanie powtarzających się działań. Pętle w VBA wykorzystujemy do obliczeń matematycznych, wyodrębniania fragmentów danych, a także do wykonywania tych samych operacji na wielu obiektach. Celem artykułu jest zapoznanie czytelników z pętlami – poniżej przedstawiamy Państwu wybrane pętle dostępne w języku VBA w Excelu.
Pętle są ważną częścią języków programowania. Wykorzystując pętle w języku VBA w programie Microsoft Excel można zautomatyzować zadania, usprawnić pracę programów. Pętla pozwala na wykonywanie danej operacji wielokrotnie, możemy zapętlać różne działania.
Konstrukcja pętli For … Next
For licznik = start To koniec [Step krok]
'instrukcje
Next [licznik]
Charakterystyka pętli For … Next
Pętla ta posiada początek – słowo kluczowe For oraz koniec – Next. W tej pętli określamy warunek początkowy, końcowy oraz wartość, o jaką zwiększany jest licznik. Jeśli licznik jest mniejszy lub równy warunkowi końcowemu, to wykonywane są operacje w pętli, w przeciwnym przypadku pętla zostaje zakończona i kompilator przechodzi do instrukcji poniżej pętli. Argumenty w kwadratowych nawiasach są opcjonalne.
Case study pętli For … Next
Uzupełnij komórki od A1 do A10 liczbami w następujący sposób: w komórce A1 wpisz jeden, w komórce A2 wpisz dwa itd.
For i = 1 To 10
Cells(i, 1) = i
Next
W aktywnym arkuszu, w komórce na i-tym wierszu oraz pierwszej kolumnie (czyli „A”) jest wprowadzona wartość, która jest równa i-temu wierszowi.
Domyślnie pętla For zwiększa licznik (zmienną i) o jeden. Instrukcja w pętli wykonywana jest dziesięć razy.
Konstrukcja pętli warunkowej Do While … Loop
Do While warunek
'instrukcje
Loop
Charakterystyka pętli warunkowej Do While … Loop
Pętla wykonywana jest wtedy i tylko wtedy, gdy spełniony jest warunek.
Case study pętli warunkowej Do While … Loop
Uzupełnij komórki od A1 do A10 liczbami w następujący sposób: w komórce A1 wpisz jeden, w komórce A2 wpisz dwa itd.
i = 1
Do While i <= 10
Cells(i, 1) = i
i = i + 1
Loop
Na początku następuje przypisanie zmiennej i wartości jeden (i = 1). Później sprawdzany jest warunek, czyli czy zmienna i jest mniejsza lub równa dziesięć. Jeśli został spełniony warunek, to wykonywane są instrukcje: przypisania wartości zmiennej i do komórki będącej na przecięciu i-tego wiersza oraz kolumny A, a także zwiększenie zmiennej i o jeden (i = i + 1). W innym przypadku (gdy i > 10) następuje wykonanie poleceń po słowie kluczowym Loop.
Konstrukcja pętli For Each … Next
For Each element In kolekcja
'instrukcje
Next
Charakterystyka pętli For Each … Next
Pętla For Each działa na kolekcji (zbiorze) danych. Ogromną jej zaletą jest brak konieczności deklarowania warunków oraz liczników.
Case study pętli For Each … Next
Wprowadź słowo „zaznaczony” do wszystkich zaznaczonych komórek.
For Each komorka In Selection
komorka.Value = "zaznaczony"
Next
Selection to obiekt klasy Range, w którym przechowywane są zaznaczone komórki przez użytkownika. W związku z tym, że w tym obiekcie istnieje zbiór identycznych elementów, to można wykorzystać pętlę For Each do poruszania się po elementach obiektu Selection. W powyższym przykładzie wartość każdej komórki jest zmieniana na słowo „zaznaczony”.
Autorem tekstu jest Grzegorz Plak – trener Cognity.
Szerszą wiedzę oraz umiejętności związane z VBA możesz zdobyć na kursach Cognity – sprawdź dostępne terminy szkoleń: