Cognity kurs VBA - instrukcja warunkowa If

Page 1

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.


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.