Upload
cognity-szkolenia
View
47
Download
4
Embed Size (px)
DESCRIPTION
Zapoznaj się z prezentacją na temat tworzenia pętli w języku VBA. Jest to temat omwainy podczas kursu VBA, więcej informacji oraz programy szkolen znajdą Państwo na stronie: http://www.cognity.pl/szkolenie-vba-w-excelu,s,71.html
Citation preview
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.