Wprowadzenie do pętli w Excel VBA

1. Wprowadzenie do pętli w Excel VBA

Pętle są najmocniejszym elementem języków programowania. To właśnie za ich pomocą możemy automatyzować działania, przyspieszać pracę naszych programów, robić rzeczy, których nie moglibyśmy zrobić w arkuszu danych Excela. Sama pętla jak jej nazwa wskazuje służy do tzw. zapętlania, a więc wykonywania jakiejś operacji wiele razy. W VBA w Excelu wyróżniamy 3 główne rodzaje pętli While…Wend, Do…Loop oraz For…Next. Wszystkie wymienione pętle VBA poznamy w dalszej części szkolenia. W tym rozdziale zajmiemy się podstawowym opisem pętli While…Wend oraz jej zastosowaniem.

Kurs Excel VBA - Pętle VBA
Kurs Excel VBA – Pętle VBA

2. Działanie przykładowej pętli – Jak napisać pętlę w VBA

Pętle VBA, które najczęściej będziemy stosować w naszym kodzie bazować będą na następującym schemacie:

While [Warunki]
[Instrukcje]
Wend

Lub też

Do While [Warunki]
[Instrukcje]
Loop

Sama interpretacja kodu oznacza dla nas tyle, co: Wykonuj instrukcje, jeżeli spełniony jest opisany warunek. Zróbmy na tej podstawie prosty przykład. Wykorzystując pętlę While…Wend  wypełnijmy na początek 100 pierwszych wierszy naszego arkusza Excel dowolną wartością np „tak działa pętla”. Do dzieła!

Sub WhileWendExample()

Dim intCounter As Integer
intCounter = 1

While intCounter <= 100
Cells(intCounter, 1) = "tak działa pętla"
intCounter = intCounter + 1

Wend
End Sub

Opis przykładu:

Stworzyliśmy właśnie nasz pierwszy program z wykorzystaniem pętli. Spróbujmy opisać, co tak właściwie po kolei zostało wykonane:

  • Stworzyliśmy program o nawie WhileWendExample
  • Zadeklarowaliśmy jawną zmienną o nazwie intCounter, która jest naszym licznikiem
  • Ustawiliśmy dla naszej zmiennej wartość 1. To ważne, gdyż wartość default to 0, co oznacza, że bez tego bloku chcielibyśmy w pierwszej kolejności wypełnić komórkę „A0”, której jak wiemy w naszym arkuszu nie ma.
  • Ustawiliśmy warunek, by pętla wykonywała się, gdy licznik intCounter jest mniejszy lub równy 100.
  • Odwołaliśmy się w instrukcji do komórki „A1” poprzez polecenie Cells(intCounter, 1), co przy naszej początkowej wartości licznika intCounter oznacza tyle, co Cells(1, 1). Wypełniliśmy w ten sposób komórkę „A1”.
  • Częścią instrukcji intCounter = intCounter + 1 zwiększamy wartość licznika o 1 przy każdorazowym działaniu pętli. Pętla wykonuje się w tym wypadku 100 razy do momentu uzyskania wartości niespełniającej warunku <=100. Następuje wyjście z pętli.

W naszym przykładzie wprowadziliśmy jedną zmienną. To właśnie instrukcja dotycząca tej zmiennej liczbowej została „zapętlona”. Zmodyfikujmy nasz program. Zamiast frazy „tak działa pętla” wprowadźmy do komórek wartość licznika intCounter. W ten sposób nasz program wypełni 100 kolejnych komórek w kolumnie „A” liczbami od 1 do 100.

Sub LoopExample()
Dim intCounter As Integer 
intCounter = 1 
While intCounter <= 100 
Cells(intCounter, 1) = intCounter 
intCounter = intCounter + 1 
Wend 
End Sub

3. Zadania (Rozwiązanie możesz wpisać w komentarzu)

3.1 Analogicznie do przykładu wypełnij kolumny liczbami od 1 do 100.

3.2 Przy pomocy pętli wprowadź do arkusza liczby od 1 do 10, tak, aby co drugi wiersz był wypełniony.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

7 komentarzy “Wprowadzenie do pętli w Excel VBA”