Konstrukcja warunkowa If Else, to podstawa w tworzeniu programów nie tylko w Visual Basic, ale w większość języków programowania. Pozwala ona na wykonanie wielu przydatnych operacji, a jej konstrukcja jest stosunkowo prosta. Sprawdź na czym polega!
Aby lepiej zrozumieć i utrwalić działanie tej konstrukcji napiszemy dwa programy, które pokażą jej schemat działania, a także pozwolą poszerzyć wiedzę dotycząca programowania w VBA.
Z lekcji dowiesz się:
Co to jest konstrukcja warunkowa If Else?
Jak dobierać typy zmiennych np. Byte, Long? Czym one są?
Jak napisać praktyczny program liczący?
Aby lepiej zrozumieć i utrwalić działanie tej konstrukcji napiszemy dwa programy, które pokażą jej schemat działania, a także pozwolą poszerzyć wiedzę dotycząca programowania w VBA.
Z lekcji dowiesz się:
Co to jest konstrukcja warunkowa If Else?
Jak dobierać typy zmiennych np. Byte, Long? Czym one są?
Jak napisać praktyczny program liczący?
Przykład 1
Naszym zadaniem jest napisanie programu, który pomnoży wskazaną przez użytkownika liczbę przez dwa, a następnie odpowie na pytanie czy liczba ta jest podzielna przez 3.
Zaczynamy od zadeklarowania zmiennej - liczba poprzez Dim, która służy do deklaracji naszych zmiennych. Musimy pamiętać, że każda nowa zmienna, która będziemy używać w naszych programach musimy zadeklarować, a następnie pod jej typ.
Poniżej znajduje się tabelka opisująca typy zmiennych, które ułatwią odpowiednie dopasowanie zmiennej do naszych potrzeb. Przy pisaniu kodu programistycznego należy, optymalizować go, a co za tym idzie świadomie dobierać typy zmiennych do posiadanych danych.
Typy zmiennych w VBA
W tym przykładzie użyjemy typu Byte, ponieważ zakres cyfr będzie zakładał wybór w przedziale od 1-100. Czyli:
Sub Zadanie_1
Dim Liczba As Byte - deklaracja zmiennej (Dim) i ustalenie typu zmiennej (Byte)
Liczba = Cells(2, 1).Value – przypisanie wartości dla naszej zmiennej (w tą komórkę wprowadzimy liczbę na której mamy prowadzić nasze operacje)
Range("b2").Value = Liczba * 2 - pomnożenie naszej liczby przez 2 (* - mnożenie w VBA)
Tworzymy konstrukcje warunkową
If (warunek) Then
Jeśli prawda wykonaj instrukcje
Else
Jeśli nieprawda wykonaj instrukcje
End if
If Liczba Mod 3 = 0 Then (jeżeli liczba podzielna przez 3 mod 3 = 0 reszta z dzielenia równa się zero)
Range("c2").Value = "Tak" (jeżeli prawda wyświetl wpisz w komórkę TAK)
Else
Range("C2") = "Nie" (jeżeli nie prawda wpisz w komórkę Nie)
End IF
End Sub
Pełny kod (Rysunek 1)
(Rysunek 1)
Jak łatwo zauważyć konstrukcja logiczna IF, jest stosunkowa prosta i ogranicza się do wykonania założonego warunku i konsekwencji jego spełnienia lub nie.
Dla lepszego zrozumienia, omówmy jeszcze jeden przykład.
Naszym zadaniem będzie stworzenie programu, który sprawdzi czy podana przez użytkownika liczba jest podzielna przez 2. W przypadku spełnienia warunku pokoloruje komórkę na zielono, w przeciwnym na czerwono:
Sub Zadanie_2()
Dim Liczba As Byte
Liczba = Cells(2, 1).Value
If Liczba Mod 2 = 0 Then (Jeżeli -> Warunek -> Wykonaj Instrukcje)
Cells(2, 2).Interior.ColorIndex = 10 (wykonaj określone działanie)
Else (Jeżeli nie)
Cells(2, 2).Interior.ColorIndex = 3 (wykonaj określone zadanie)
End If
Pełny kod (Rysunek 2)
(Rysunek 2)
Na powyższych przykładach przedstawiono zastopowanie konstrukcji If na stosunkowo prostych przykładach. Warto je przećwiczyć, ponieważ w kolejnych lekcjach będą one używane do bardziej skomplikowanych operacji.
Polecamy także:
Programowanie VBA: konstrukcja Select Case
© Sprytny Excel