Pętla For zwana również pętlą For…Next pozwala na wielokrotne wykonywanie bloku kodu zawartego w ciele pętli. Pętla przyjmuje również opcjonalny skok (Step) zwiększający wartość licznika pętli o liczbę podaną po parametrze Step. Gdy nie podano parametru Step, wartość licznika jest zwiększana o 1. Poniższy Listing przedstawia procedurę, która wypisuje w pierwszych 10 kolejnych wierszach kolejne liczby parzyste (wartość kroku Step 2 zwiększa licznik pętli o 2 przy każdym przebiegu pętli)
Sub PętlaFor1()
Dim Licznik As Long
For Licznik = 2 To 20 Step 2
Cells(Licznik / 2, 1) = Licznik
Next Licznik
End Sub
Poniższy Listing z kolei przedstawia procedurę, która w kolejnych trzech kolumnach wypełnia komórki odpowiednimi odcieniami kolorów: czerwonego, niebieskiego i zielonego nadając im odpowiednie wartości (od najmniejszej do największej). Każdy kolejny przebieg pętli zwiększa wartość licznika o 10 a kolor zawierający większą składową odpowiedniego koloru staje się jaśniejszy.
Sub PętlaFor2()
Dim Licznik As Long
Dim Wiersz As Long
For Licznik = 0 To 255 Step 10
Wiersz = Wiersz + 1
Cells(Wiersz, 1) = Licznik 'wypisz wartość licznika
Cells(Wiersz, 2).Interior.Color = RGB(Licznik, 0, 0)
Cells(Wiersz, 3).Interior.Color = RGB(0, Licznik, 0)
Cells(Wiersz, 4).Interior.Color = RGB(0, 0, Licznik)
Next Licznik
End Sub
Poniższy Listing przedstawia przykład zagnieżdżania pętli For…Next. Najpierw zostaje wykonana zewnętrzna pętla for (zwiększająca numer wiersza o 1 przy każdym przebiegu) a następnie wewnątrz tej pętli zostanie wykonana wewnętrzna pętla For (zwiększająca numer kolumny przy jej każdym przebiegu). W tym przykładzie tworzymy prostą tabliczkę mnożenia (do odpowiedniej komórki zostaje przypisany iloczyn zmiennych Wiersz i Kolumna). Poniższy Rysunek przedstawia efekt wykonania tej procedury.
Sub ZagnieżdżonaPętlaFor()
Dim Wiersz As Long, Kolumna As Long
For Wiersz = 1 To 10
For Kolumna = 1 To 10
Cells(Wiersz, Kolumna) = Wiersz * Kolumna
Next Kolumna
Next Wiersz
End Sub
![](https://www.kursvba.pl/wp-content/uploads/2024/01/Tabliczka-mnozenia.png)