Cognity Kurs VBA - instrukcja warunkowa.pptx

16
Instrukcje warunkowe

Transcript of Cognity Kurs VBA - instrukcja warunkowa.pptx

Page 1: Cognity Kurs VBA - instrukcja warunkowa.pptx

Instrukcje warunkowe

Page 3: Cognity Kurs VBA - instrukcja warunkowa.pptx

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.

Page 4: Cognity Kurs VBA - instrukcja warunkowa.pptx

Autorem prezentacji jest Grzegorz Plak – trener

Cognity

Page 5: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 6: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 7: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 8: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 9: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 10: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 11: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 12: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 13: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 14: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 15: Cognity Kurs VBA - instrukcja warunkowa.pptx

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

Page 16: Cognity Kurs VBA - instrukcja warunkowa.pptx

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.