Cognity kurs VBA - pętle

Page 1

VBA w Excel – jak napisać pętle?


VBA w Excel – jak napisać pętle?


Szanowni Państwo,

W poniższej prezentacji znajdą Państwo omówione wstawiania pętli w języku VBA z wykorzystaniem MS Excel. W Strefie Wiedzy na stronie Cognity znajdą państwo wiele informacji, ciekawostek, kursów i przykładów systematyzujących poznaną wcześniej wiedzę z zakresu MS Office.


Pętle w Excelu są bardzo wygodnym narzędziem. Służą one przede wszystkim do wielokrotnego wykonywania danego bloku kodu. Pętle w VBA wykorzystujemy do obliczeń matematycznych, wyodrębniania fragmentów danych, a także do wykonywania tych samych operacji na wielu obiektach.

Kurs VBA


Wyobraźmy sobie sytuację, w której musimy ponumerować komórki od A2 do A11 wartościami od jeden do dziesięciu. Zadanie można wykonać w następujący sposób: • Cells(2, 1) = 1 • Cells(3, 1) = 2 • Cells(4, 1) = 3 • Cells(5, 1) = 4 • Cells(6, 1) = 5 • Cells(7, 1) = 6 • Cells(8, 1) = 7 • Cells(9, 1) = 8 • Cells(10, 1) = 9 • Cells(11, 1) = 10

Czy istnieje krótszy sposób zapisu? Oczywiście tak.

Kurs VBA


Celem artykułu jest zapoznanie użytkowników z pętlami – konstrukcjami programistycznymi specjalnie zaprojektowanymi do wykonywania powtarzalnych zadań.

Kurs VBA


Pętla For …. Next

Kurs VBA


Konstrukcja pętli For … Next For zmienna = początek To koniec [Step co_ile] 'instrukcje Next [zmienna]

Kurs VBA


Opis pętli For … Next W języku VBA wszystkie pętle mają swój początek i koniec. W przypadku tej pętli początkiem jest słowo kluczowe For, natomiast koniec oznaczony jest słowem kluczowym Next. Dla pętli For należy określić poniższe elementy: • licznik, któremu wskazujemy wartość początkową oraz wartość końcową – wartość ta pozwoli na opuszczenie pętli; • opcjonalnie można określić krok, czyli wartość o którą licznik zostanie powiększany w każdym przebiegu pętli.

Kurs VBA


Przykład • Uzupełnij od komórki A2 do A11 liczbami w następujący sposób: w komórce A2 wpisz jeden, w komórce A3 w wpisz dwa itd. For i = 2 To 11 Cells(i, 1) = i - 1 Next • Licznikowi przypisano wartość początkową dwa, a warunkiem końcowym wychodzącym z pętli to wartość jedenaście. Przy każdym przebiegu pętli następuje zwiększenie zmiennej i o jeden. Do komórki w kolumnie A oraz i - tym wierszu następuje przypisanie wartości i – 1.

Kurs VBA


Pętla warunkowa Do While … Loop

Kurs VBA


Konstrukcja pętli Do While … Loop

Do While warunek 'instrukcje Loop

Kurs VBA


Opis pętli Do While … Loop Pętla wykonywana jest wtedy i tylko wtedy, gdy spełniony jest warunek.

Kurs VBA


Przykład • Uzupełnij od komórki A2 do A11 liczbami w następujący sposób: w komórce A2 wpisz jeden, w komórce A3 w wpisz dwa itd. i = 1 Do While i <= 10 Cells(i + 1, 1) = i i = i + 1 Loop • Powstaje prawie identyczny zapis co w pętli For z tą różnicą, że przypisywana jest wartość i dla komórki w wierszu i + 1 w kolumnie A. Proszę zauważyć, że pętla Do nie ma automatycznie zwiększanego licznika, dlatego istotna jest linia i = i + 1. Bez tej instrukcji mielibyśmy do czynienia z nieskończoną pętlą.

Kurs VBA


Pętla For Each … Next

Kurs VBA


Konstrukcja petli For Each For Each element In kolekcja 'instrukcje Next

Kurs VBA


Opis pętli For Each … Next Jeśli mamy do czynienia ze zbiorem (a dokładniej kolekcją) danych, to warto rozważyć wykorzystanie pętli For Each, ponieważ nie trzeba określać warunków jak i początku i końca zakończenia pętli.

Kurs VBA


Przykład pętli For Each … Next • Wprowadź literę „X” do wszystkich zaznaczonych komórek.

For Each komorka In Selection komorka.Value = "X" Next • Selection to kolekcja komórek, które można wykorzystać w pętli For Each. Dla każdej komórki przypisano wartość „X”.

Kurs VBA


Jeżeli jesteś zainteresowany udziałem w organizowanym przez nas kursie VBA w Excelu Podstawowy, kursie VBA w Excel Przekrojowy zapraszamy do kontaktu.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.