VBA w Exce16.doc

(50 KB) Pobierz
VBA w Excelu - kurs dla początkujących

VBA w Excelu - kurs dla początkujących

Operatory porównania

 

Na tej stronie przedstawiam krótki opis chyba najczęściej używanych operatorów tj. operatory porównania. Zasady działania i zastosowania operatorów porównania to bardzo szeroki temat. Ponieważ jest to strona dla początkujących skupię się na podstawowych informacjach.
VBA posiada operatory do porównywania wartości numerycznych i łańcuchów znaków. Zakładając, że porównywane wyrażenia zawierają poprawne wartości (nie zawierają wartości Null), wynikiem porównania będzie wartość True (Prawda) lub False (Fałsz). Za pomocą operatorów porównania możemy porównywać łańcuchy znaków i wartości numeryczne, ja na tej stronie przedstawię zastosowanie operatorów porównania do porównywania wartości numerycznych.


Operatory porównania stosowane w VBA:

Operator

Znaczenie

Przykład wyniku porównania

<

Mniejsze niż

 10 < 5 ' Wynikiem jest False

<=

Mniejsze lub równe

 10 <= 5 ' Wynikiem jest False

>

Większe niż

 10 >= 5 ' Wynikiem jest True

>=

Większe lub równe

 10 >= 5 ' Wynikiem jest True

=

Równe

 10 = 5 ' Wynikiem jest False

<>

Nierówne

 10 <> 5 ' Wynikiem jest True


Informacyjnie tylko podam, że oprócz wymienionych wyżej operatorów VBA posiada jeszcze dwa specjalne operatory porównania.

·         Like - operator służący do porównywania łańcucha znaków ze wzorcem.

·         Is - operator służący do sprawdzania czy dwa elementy (zmienne obiektowe) odwołują się do tego samego obiektu.


Operatorów porównania możemy użyć w standardowej instrukcji przypisania. Wynik porównania który jest przypisany do zmiennej możemy wykorzystać w wielu instrukcjach. Składnia w tym momencie dla większości operatorów (z wyjątkiem operatorów Like i Is) wygląda następującą.

Składnia:

warunek = wyrażenie1 odpowiedni operator porównania wyrażenie2

·         warunek - element obowiązkowy, jest to dowolna zmienna numeryczna.

·         wyrażenie1 - element obowiązkowy, jest to dowolne wyrażenie.

·         wyrażenie2 - element obowiązkowy, jest to dowolne wyrażenie.


Poniżej przedstawiam przykład użycia operatora porównania w standardowej instrukcji przypisania

·         Uwaga: - dla potrzeb kursu, kod przykładu umieściłem w procedurze zdarzenia Click Przycisku polecenia. Oczywiście odpowiedni kod z przykładu możemy wykorzystać w dowolnej procedurze.

Przykład - kod przykładu:

Private Sub CommandButton1_Click()
On Error GoTo problem
 Dim Warunek As Boolean
 Dim Dzielna, Dzielnik, Iloraz
  Dzielna = Range("B2").Value
  Dzielnik = Range("D2").Value
  Warunek = Dzielnik <> 0 'Nasza instrukcja przypisania.
 If Warunek = True Then
  Iloraz = Dzielna / Dzielnik
  Range("F2").Value = Iloraz
 Else
  MsgBox "Dzielenie przez zero, wprowadź poprawną wartość"
 End If
Exit Sub
problem:
 MsgBox "Wystąpił błąd w programie. " & Err.Description & ", wprowadź poprawne wartości"
End Sub

Przykład - opis:

Jest to praktycznie w pełni funkcjonalny przykład w którym użyliśmy operatora <> (nierówność) w standardowej instrukcji przypisania. W przykładzie deklarujemy zmienne Dzielna, Dzielnik i Iloraz, oraz zmienną Warunek typu Boolean. Wartość zmiennej Dzielna to zawartość komórki B2 arkusza Excela, natomiast wartość zmiennej Dzielnik jest zawartością komórki D2 arkusza. W przykładzie sprawdzamy czy wartość zmiennej Dzielnik jest różna od zera, jeżeli tak jest wykonywane jest dzielenie. Wynik dzielenia wyświetlany jest w komórce F2. Dodałem też obsługę błędów gdyby użytkownik wprowadził do określonych komórek wartości inne niż numeryczne. Temat obsługi błędów jak i deklarowania zmiennych omówię w dalszej części kursu. W przykładzie wykorzystujemy również niektóre operatory przedstawione na poprzednich stronach kursu.


Możemy też użyć operatorów porównania bezpośrednio w instrukcjach warunkowych. Wynik operacji porównania decyduje o tym, czy dany fragment kodu zostanie wykonany.

Poniżej przedstawiam przykład użycia operatora porównania bezpośrednio w instrukcjach warunkowych.

Przykład - kod przykładu:

Private Sub CommandButton1_Click()
On Error GoTo problem
 Dim Dzielna, Dzielnik, Iloraz
  Dzielna = Range("B2").Value
  Dzielnik = Range("D2").Value
 If Dzielnik <> 0 Then 'Operator użyty bezpośrednio w instrukcji.
  Iloraz = Dzielna / Dzielnik
  Range("F2").Value = Iloraz
 Else
  MsgBox "Dzielenie przez zero, wprowadź poprawną wartość"
 End If
Exit Sub
problem:
 MsgBox "Wystąpił błąd w programie. " & Err.Description & ", wprowadź poprawne wartości"
End Sub

Przykład - opis:

Jest to przykład praktycznie identyczny jak wyżej, różnica polega na sposobie wykorzystania operatora <> (nierówność), operator ten umieszczony jest bezpośrednio w instrukcji warunkowej.


Aby wykonać przykłady, umieść odpowiedni kod w procedurze zdarzenia Click Przycisku polecenia. Przykładowe kroki znajdziesz między innymi na stronie Operatory arytmetyczne. Następnie wprowadź wartości do komórek arkusza B2 i D2 arkusza i kliknij na przycisk.


Słownictwo:

·         Boolean - typ danych przyjmujący tylko dwie wartości: True (-1) lub False (0). Zmienne typu Boolean są przechowywane jako liczby 16-bitowe (2-bajtowe).

·         False - słowo kluczowe False (Fałsz) jest to stała wbudowana i ma wartość 0.

·         Null - wartość wskazująca, że dana zmienna nie zawiera żadnych poprawnych danych. Wartość ta jest wynikiem jawnego przypisania wartości Null do danej zmiennej lub wynikiem dowolnej operacji przeprowadzonej pomiędzy wyrażeniami zawierającymi wartość Null.

·         True - słowo kluczowe True (Prawda) jest to stała wbudowana i ma wartość -1.

 

...
Zgłoś jeśli naruszono regulamin