Cognity Kurs VBA - instrukcja warunkowa.pptx
Transcript of Cognity Kurs VBA - instrukcja warunkowa.pptx
Instrukcje warunkowe
Szanowni Państwo,
Celem instrukcji warunkowych jest zwiększenie
elastyczności makra, dzięki czemu można wykorzystać
potencjał automatyzacji.
Jeżeli chcielibyście dokładniej poznać zagadnienia związane
z tym arkuszem kalkulacyjnym, zapraszamy na kurs VBA,
realizowany przez naszą firmę - na wszystkich poziomach
zaawansowania.
Autorem prezentacji jest Grzegorz Plak – trener
Cognity
Instrukcja warunkowa Excel
W przypadku Excela można wykorzystać funkcję JEŻELI do operacji, w
których postać końcowa zależy od warunków. W przypadku VBA rolę tę
pełni instrukcja warunkowa If. Poniżej przedstawiono wzór instrukcji
warunkowych:
Wzór nr 1
If warunek_logiczny Then
'wykonywane jeśli warunek logiczny jest prawdziwy
End If
Instrukcja warunkowa Excel
Wzór nr 2
If warunek_logiczny Then
'wykonywanie poleceń jeśli warunek_logiczny jest prawdziwy
Else
'wykonywanie poleceń jeśli warunek_logiczny jest fałszywy
End If
Kurs VBA
Instrukcja warunkowa Excel
Wzór nr 3
If warunek_logiczny1 Then
'wykonywanie poleceń jeśli warunek_logiczny1 jest prawdziwy
ElseIf warunek_logiczny2 Then
'wykonywanie poleceń jeśli warunek_logiczny2 jest prawdziwy
Else
'wykonywanie jeśli wcześniejsze polecenia są fałszywe
End If
Kurs VBA
Instrukcja warunkowa Excel
Warunki logiczne w powyższych wzorach wymagają porównywania dwóch
lub większej ilości elementów przy pomocy operatorów porównania (np.
znaku równości, większości).
Kurs VBA
PrzykładyLiczby parzyste
Celem przykładu jest pobranie tekstu od użytkownika i wyświetlenie jednego z trzech komunikatów:
• jeśli użytkownik wpisał tekst, to wyświetlić informację „Podano tekst”
• jeśli użytkownik wprowadził liczbę, to:• w przypadku liczby parzystej wyświetlić komunikat
„Liczba parzysta”• w przypadku liczby nieparzystej wyświetlić komunikat
„Liczba nieparzysta”
Kurs VBA
PrzykładyLiczby parzyste
Sub liczby_parzyste()
liczba = InputBox("Podaj liczbe")
If IsNumeric(liczba) = False Then
MsgBox "Podano tekst"
Exit Sub
End If
If liczba Mod 2 = 0 Then
MsgBox "Liczba parzysta"
Else
MsgBox "Liczba nieparzysta"
End If
End Sub
Kurs VBA
PrzykładyLiczby parzyste
Procedura liczby_parzyste pobiera liczbę od użytkownika przy pomocy
InputBox’a i przypisuje podaną wartość do zmiennej liczba. Pierwsza
instrukcja warunkowa If sprawdza przy pomocy IsNumeric czy
użytkownika wprowadził liczbę. Jeśli nie to zostaje wyświetlony komunikat
na ekranie "Podano tekst" i następuje zakończenie procedury poleceniem
Exit. Następnie sprawdzana jest reszta z dzielenia przez liczbę dwa. Jeśli
jest równa zero, to wyświetlany jest komunikat "Liczba parzysta", w
przeciwnym przypadku wyświetlany jest komunikat "Liczba nieparzysta".
Kurs VBA
PrzykładyLosowanie liczby
Celem zadania jest wylosowanie liczby z zakresu od 1 do 6 i wyświetlenie
odpowiedniego komunikatu. Jeśli zostanie wylosowana
• liczba 1 to wyświetl komunikat „Wylosowano najmniejszą liczbę”
• liczba 6 to wyświetl komunikat „Wylosowano najmniejszą liczbę”
• inna liczba to wyświetl komunikat „Wylosowano inną liczbę”
Najkrótsza w tym przypadku jest instrukcja warunkowa If … ElseIf … Else
Kurs VBA
PrzykładyLosowanie liczby
Sub losowanie_liczby()
liczba = WorksheetFunction.RandBetween(1, 6)
If liczba = 1 Then
MsgBox "Wylosowano najmniejszą liczbę"
ElseIf liczba = 6 Then
MsgBox "Wylosowano największą liczbę"
Else
MsgBox "Wylosowano inną liczbę"
End If
End Sub
Kurs VBA
PrzykładyLosowanie liczby
Pierwszym zadaniem jest pobranie liczby. W tym celu użyto
pseudolosowej funkcji dostępnej w Excelu i przekazano ją do zmiennej
liczba. Funkcja RandBetween losuje wartości z podanego przedziału
liczbowego obustronnie zamkniętego (w tym przypadku od 1 do 6). W
kolejnych krokach sprawdzany jest warunek czy liczba jest równa jeden.
Jeśli tak, to użytkownik otrzymuje komunikat w postaci „Wylosowano
najmniejszą liczbę”, natomiast w przeciwnym wypadku sprawdzany jest
kolejny warunek. Jeśli liczba jest równa sześć to użytkownik zobaczy na
ekranie komunikat „Wylosowano największą liczbę”, natomiast w innym
przypadku zostanie wyświetlony komunikat w instrukcji Else, czyli
„Wylosowano inną liczbę”.
Kurs VBA
PrzykładyLosowanie liczby
Uwaga! Przykłady mają na celu pokazanie działanie pewnych konstrukcji
programistycznych i autor zdaje sobie sprawę z tego, że kod ww.
przykładów nie jest optymalny.
Kurs VBA
Powyższy temat jest jednym z elementów kursu VBA w Excelu Przekrojowy.
Szkolenie to, podobnie jak inne specjalistyczne kursy VBA, organizowane przez firmę Cognity, ma na celu usprawnienie i przyspieszenie pracy w tym najbardziej popularnym arkuszu kalkulacyjnym.