Kurs VBA – cz. 11 – operatory

Po dużej ilości informacji z poprzedniej części kursu zajmijmy się czymś lekkim i przyjemnym, tym bardziej, że operatorami zajmowaliśmy się już wcześniej. Operatorami nazywamy różnego rodzaju znaki i symbole, które sklejają razem instrukcje i słowa kluczowe. Są one bardzo istotne i użyte nieprawidłowo mogą całkowicie zmienić logikę kodu.

Operator przyjmuje argumenty tworząc wyrażenia, argumentami operatorów mogą być kolejne wyrażenia itd. W ten sposób można tworzyć skomplikowane instrukcje.
Wyrażenie 1 operator Wyrażenie 2
niektóre operatory przyjmują tylko jeden argument
operator Wyrażenie

Operator przypisania

Jak napisałem w poprzedniej części zmienne po zadeklarowaniu przyjmują wartość 0 lub pusty ciąg znaków. Do zmiany tej wartości służy operator przypisania „=”.
wyrażenie 1 = wyrażenie 2

Wyrażenie 1 musi być zmienną lub atrybutem, wyrażenie 2 jest dowolne, pod warunkiem, że zwraca jakąś wartość (czyli nie może być to np. procedura Sub). Jeżeli wyrażenie 1 jest obiektem przypisanie musimy poprzedzić słowem kluczowym Set.

Set obiekt = wyrażenie

Przykłady:

Dim lv_zmienna As Integer
Dim lv_suma As Integer
Dim lv_tytul As String
Dim lv_odpowiedz As Date

lv_zmienna = 1
lv_suma = lv_zmienna + 2
lv_tytul = "W pustyni i w puszczy"
lv_data = MsgBox("Tak czy nie?", vbYesNo)

 

Operator łamania linii

Zwykle jedna linia równa się jednej linii kodu. Excel czytając nasz kod spodziewa się, że każda linia będzie zamkniętą logiczną całością. Długie linie kodu można dzielić operatorem ” _”. Składa się ze spacji i podkreślenia.
Sub _
    test()
  
    lv_dlugi_tytul = "Bardzo długi i malo treściwy " & _
                     "tytul lektury szkolnej " & _
                     "do wypozyczenia w miejskiej " & _
                     "bibliotece publicznej"
  
    MsgBox lv_dlugi_tytul
End Sub

 

Dwukropek

Przed chwilą pisaliśmy jedną instrukcję w kilku liniach, można też napisać kilka krótkich instrukcji w jednej linii. Poszczególne instrukcje powinny być rozdzielone dwukropkiem. Oczywiście należy to robić tylko jeżeli nie zmniejszy to czytelności kodu.

Sub test()
    Dim imie As String
    Dim nazwisko As String
  
    imie = "Jan": nazwisko = "Kowalski": MsgBox imie & " " & nazwisko
End Sub

 

Operator łączenia tekstu

Dwa fragmenty tekstu łączymy operatorem „&”. Można w ten sposób łączyć kilka tekstów, zmiennych String, lub funkcji zwracających String.

Sub zlacz()
    Const Imie As String = "Jan"
    Const Nazwisko As String = "Kowalski"
  
    MsgBox Imie & " " & Nazwisko
End Sub

 

Poniżej przy pomocy operatora złączenia tekstu stworzyłem pierwszy argument fukcji MsgBox z literału i funkcji InputBox.

Sub zlacz_2()
    MsgBox "W okienku inputbox podałeś: " &  InputBox("Napisz coś:")
End Sub

 

Operatory matematyczne

Matematyka jest królową nauk i oczywiście nie mogło jej tutaj zabraknąć. VBA udostępnia nam wszystkie podstawowe działania matematyczne, uwzględniając standardową kolejność działań.

Oczywiście zmianę kolejności wykonywania działań możemy dokonywać przy pomocy nawiasów. „(” i „(„.

Operatory porównań

Służą do porównywania dwóch wartości i zwracają prawdę (True) lub fałsz(False). Są używane głównie do sterowania działaniem programu przy pomocy instrukcji warunkowych i pętli, które poznamy wkrótce. Mogą być używane do porównywania zmiennych, literałów czy wyników funkcji i metod.

Operatory logiczne

Różne wyrażenia zwracające wartości logiczne (True/False) możemy dodatkowo łączyć przy pomocy operatorów logicznych.

Przykłady zastosowania operatorów porównań i logicznych znajdziemy w części kursu dotyczącej instrukcji warunkowych.

Subskrybuj RSS, lub polub blog na Facebooku aby otrzymywać najnowsze informacje o rozwoju kursu.

Zachęcam do zadawania pytań w komentarzach.

 

Comments 2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.