VBA w Exce17, excel


VBA w Excelu - kurs dla początkujących

0x01 graphic
Operatory logiczne

Operatory logiczne - operatory stosowane do wykonywania operacji logicznych. Operator logiczny sprawdza wartość (True lub False) każdego z dwóch podwyrażeń wyrażenia warunkowego, a następnie określa (w zależności od operacji logicznej) końcowy wynik wyrażenia. VBA posiada kilka operatorów logicznych (z tego co wiem sześć), na tej stronie przedstawię dwa z nich tj. operator And i Or.

  • And - operator ten służy do wyznaczania iloczynu logicznego dwóch wyrażeń (Koniunkcja). Przy zastosowaniu tego operatora zwracana jest wartość True (Prawda) jeżeli oba podwyrażenia mają wartość True. W innym wypadku zwracana jest wartość False (Fałsz). Inaczej mówiąc jeżeli wyrażenie z lewej strony operatora jest prawdą i wyrażenie z prawej strony jest prawdą to całe wyrażenie jest prawdą.

  • Or - Operator ten służy do wyznaczania sumy logicznej dwóch wyrażeń (Alternatywa). Przy zastosowaniu tego operatora zwracana jest wartość True wystarczy że jedno z podwyrażeń ma wartość True. Czyli jeżeli wyrażenie z lewej strony operatora jest prawdą lub wyrażenie z prawej strony jest prawdą to całe wyrażenie jest prawdą. Oczywiście jeżeli oba podwyrażenia są zgodne z prawdą to całe wyrażenie zwróci wartość True.

Tabela operatory logiczne And i Or:

Operator

Opis

Przykład zwracania wyniku

And

Zwracana jest wartość True tylko jeżeli oba podwyrażenia mają wartość True

 10 > 5 And 10 + 5 = 15 ' Wynikiem jest True

 10 > 5 And 10 + 5 = 16 ' Wynikiem jest False

 10 < 5 And 10 + 5 = 15 ' Wynikiem jest False

 10 < 5 And 10 + 5 = 16 ' Wynikiem jest False

0x01 graphic

Or

Zwracana jest wartość True, wystarczy aby jedną z podwyrażeń ma wartość True

 10 > 5 Or 10 + 5 = 15 ' Wynikiem jest True

 10 > 5 Or 10 + 5 = 16 ' Wynikiem jest True

 10 < 5 Or 10 + 5 = 15 ' Wynikiem jest True

 10 < 5 Or 10 + 5 = 16 ' Wynikiem jest False

0x01 graphic

Użycie:

Operatorów logicznych możemy użyć w standardowej instrukcji przypisania. Wynik operacji logicznej który jest przypisany do zmiennej możemy wykorzystać w wielu instrukcjach. Składnia w tym momencie wygląda podobnie jak przy operatorach porównania.

Składnia:

warunek = wyrażenie1 odpowiedni operator logiczny 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

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

0x01 graphic

Przykład:

W przykładzie przedstawiam sposób zastosowania operatorów And i Or. Operatora And zastosowaliśmy w standardowej instrukcji przypisania, zaś operatora Or użyliśmy bezpośrednią w instrukcji warunkowej.

  • 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 Długość, Szerokość, Pole
  Długość = Range("B2").Value
  Szerokość = Range("D2").Value
  Warunek = Długość > 0
And Szerokość > 0 'Operator And użyty w instrukcji przypisania.
 
If Warunek = True Then
  
If Długość > 100 Or Szerokość > 100 Then 'Operatora Or użyty bezpośrednią w instrukcji warunkowej.
   MsgBox "Wprowadź poprawne wartości"
  
Else
   Pole = Długość * Szerokość
   Range("F2").Value = Pole
  
End If
 
Else
  MsgBox "Wprowadź wartości większe od zera"
 
End If
Exit Sub
problem:
 MsgBox "Wystąpił błąd w programie. " & Err.Description & "Wprowadź poprawne wartości"
End Sub

Przykład - opis:

W przykładzie obliczamy pole powierzchni. Na początku deklarujemy zmienne Długość, Szerokość i Pole, oraz zmienną Warunek typu Boolean. Wartość zmiennej Długość to zawartość komórki B2 arkusza Excela, natomiast wartość zmiennej Szerokość jest zawartością komórki D2 arkusza. W przykładzie za pomocą operatora And sprawdzamy czy wartości zmiennej Długość i Szerokość są większe od zera. Dodatkowo za pomocą operatora Or określamy górne granice zmiennych Długość i Szerokość czyli górne granice długości boków. Jeżeli określone warunki są spełnione wykonywane jest mnożenie i obliczane pole powierzchni. Wynik mnożenia 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

Aby wykonać przykład, 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.



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 Excel3, excel
VBA w Exce14, excel
VBA w Exce16, excel
VBA w Exce11, excel
VBA w Excel4, excel
VBA w Excel1, excel
VBA w Excel5, excel
VBA w Exce15, excel
VBA w Exce12, excel
VBA w Exce23, excel
VBA w Exce25, excel
VBA w Excel6, excel
VBA w Exce10, excel
VBA w Excelu10, excel

więcej podobnych podstron