VBA w Exce16, excel


VBA w Excelu - kurs dla początkujących

0x01 graphic
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.

0x01 graphic

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

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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 = Dziel
nik <> 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.

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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.



Wyszukiwarka

Podobne podstrony:
VBA w Excel7, excel
VBA w Exce13, excel
VBA w Excelu, excel
VBA w Exce18, excel
VBA w Exce21, excel
VBA w Exce17, excel
VBA w Excel3, excel
VBA w Exce14, excel
VBA w Exce11, excel
VBA w Excel4, excel


więcej podobnych podstron