|
Naukę języka VBA rozpocznę od przedstawienia instrukcji If... Then... Else. Jest to instrukcja bardzo pospolita (prawdopodobnie najczęściej stosowana instrukcja warunkowa), dlatego też często nie zdajemy sobie sprawy z jej ważności. Instrukcja If... Then... Else warunkowo wykonuje blok instrukcji: jeśli pewien warunek jest spełniony (ma wartość True), należy wykonać pewien zestaw poleceń, w przeciwnym zaś przypadku gdy warunek jest fałszywy (ma wartość False) program powinien wykonać inny blok poleceń. Instrukcja ta ma wiele postaci, poniżej przedstawiam podstawową jej formę.
If warunek Then [blok kodu wykonywany w przypadku gdy warunek jest spełniony] Else [blok kodu wykonywany w przypadku gdy warunek nie jest spełniony] End If
If oraz Then - to słowa kluczowe języka VBA będące swego rodzaju nawiasami warunku.
warunek - jest wyrażeniem logicznym lub zmienną dającą wartość True (prawda) lub False (fałsz).
Else - słowo kluczowe wstawiane pomiędzy ostatnią instrukcją, która ma być wykonana jeżeli warunek jest prawdziwy oraz pierwszą instrukcją, która ma być wykonana jeżeli warunek jest fałszywy.
End If - to słowa kluczowe zaznaczające koniec bloku instrukcji If... Then... Else.
W najprostszy sposób naszą instrukcje możemy przetłumaczyć: Jeżeli coś jest prawdą to wykonaj pewne czynności jeżeli nie to wykonaj inne czynności.
Private Sub CommandButton1_Click() If Range("A1").Value = 0 Then Range("A2").Value = "wartość wynosi zero" Else Range("A2").Value = "wartość jest różna od zera" End If End Sub
W powyższym przykładzie jeżeli wartość komórki A1 arkusza wynosi 0 (zero), w komórce A2 wyświetlany jest napis: wartość wynosi zero. W przeciwnym przypadku w komórce A2 wyświetlany jest napis: wartość jest różna od zera. Zaznaczam, że przykład powstał dla zobrazowania działania instrukcji If... Then... Else i nie posiada np. obsługi błędów. Dlatego dla zagwarantowania prawidłowego działania przykładu w komórce A1 powinny znajdować się wartości numeryczne. Celem przetestowania przykładu wykonaj następujące czynności:
Z menu Widok wybieramy Paski narzędzi a następnie Przybornik formantów (jeżeli nie jest widoczny).
W Przyborniku formantów wyszukaj i kliknij na ikonę Przycisk polecenia a następnie miejsce w arkuszu gdzie chcesz go umieścić. Ikona Tryb projektowania w przyborniku powinna się uaktywnić.
Kliknij dwa razy lewym przyciskiem myszy na wstawiony przycisk (ikona Tryb projektowania w przyborniku powinna być aktywna). Powinien uruchomić się Edytor Visual Basic z widocznym oknem Kod programu (Code), w oknie tym zawarta powinna być deklaracja procedury Click naszego Przycisku polecenia.
W procedurze zdarzenia Click Przycisku polecenia wpisz kod:
If Range("A1").Value = 0 Then Range("A2").Value = "wartość wynosi zero" Else Range("A2").Value = "wartość jest różna od zera" End If
Zamknij Edytor Visual Basic Alt+Q i powróć do arkusza Excela.
Następnie wyłącz tryb projektowania (jeżeli jest aktywny) klikając na ikonę Zakończ tryb projektowania w Przyborniku formantów.
Wpisz wartość 0 (zero) do komórki A1 arkusza następnie kliknij na Przycisk polecenia.
Celem ponownego przetestowania, wpisz inną wartość numeryczną do komórki A1 arkusza i ponownie kliknij na przycisk.
Dla dociekliwych:
Dla dociekliwych przedstawiam bardziej rozbudowany kod przykładu w którym umieściliśmy jedną instrukcję warunkową If... Then... Else w drugiej celem dokładniejszego określenia warunków. Przy okazji chciałem pokazać że możemy osiągać ciekawe (bardziej złożone) efekty wykorzystując kilka prostych instrukcji.
Private Sub CommandButton1_Click() If Range("A1").Value = 0 Then Range("A2").Value = "wartość wynosi zero" Else If Range("A1").Value > 0 Then Range("A2").Value = "wartość dodatnia" Else Range("A2").Value = "wartość ujemna" End If End If End Sub
UWAGA: do komórki A1 w obydwu przykładach powinniśmy wpisywać wartości numeryczne. Jeżeli wpiszemy inną wartość jak numeryczną program wykaże błąd: Niezgodność typów lub może działać nieprawidłowo (w zależności jaką wersję Excela posiadasz). Jak omijać podobne błędy opisze w dalszej części kursu.
instrukcja - jest to najmniejsza część kodu, poprawna ze względu na składnię całość wyrażająca jeden określony rodzaj operacji, deklaracji lub definicji.
słowo kluczowe - słowo, które jest elementem języka programowania Visual Basic for Applications. Do słów kluczowych zaliczają się nazwy instrukcji, typy danych, metody, operatory, obiekty i predefiniowane funkcje. Słów kluczowych nie należy używać jako nazw zmiennych i obiektów.
zmienna - miejsce o określonej nazwie służące do przechowywania danych. Zmienna zawiera dane, które można modyfikować podczas wykonywania programu. Każda zmienna ma nazwę jednoznacznie ją identyfikującą w obrębie danego poziomu zakresu.
|