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łady Liczby 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łady Liczby 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łady Liczby 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łady Losowanie 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łady Losowanie 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łady Losowanie 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łady Losowanie 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.