1. Rodzaje operatorów w Excel VBA
W naszych skryptach używać będziemy zarówno wyrażeń arytmetycznych, jak i stosować wyrażenia logiczne. W tym celu posłużą nam operatory w Excel VBA możemy podzielić na 3 grupy:
- arytmetyczne
- logiczne
- porównania.
2. Operatory VBA: arytmetyczne
Operatory arytmetyczne służą jak sama ich nazwa wskazuje do realizacji działań matematycznych. Tworząc procedurę zawierającą działania matematyczne konieczne może być także użycie nawiasów. Zapisujemy je standardowy sposób: „()”.
Operator | Nazwa | Przykład |
+ | Dodawanie | Dim DblResult As Double DblResult = 9 + 7 MsgBox DblResult |
– | Odejmowanie | Dim DblResult As Double DblResult = 9 - 7 MsgBox DblResult |
* | Mnożenie | Dim DblResult As Double DblResult = 9 * 7 MsgBox DblResult |
/ | Dzielenie | Dim DblResult As Double DblResult = 9 / 7 MsgBox DblResult |
\ | Dzielenie bez reszty | Dim DblResult As Double DblResult = 9 \ 7 MsgBox DblResult |
^ | Potęgowanie | Dim DblResult As Double DblResult = 9 ^ 7 MsgBox DblResult |
mod | Modulo (reszta z dzielenia) | Dim DblResult As Double DblResult = 9 mod 7 MsgBox DblResult |
+ oraz & | Dodawanie ciągów znaków | Dim DblResult As Double DblResult = "wyraz_1" & "wyraz_2" MsgBox DblResult |
Jak widzimy operator „+” może służyć także do łączenia ze sobą ciągów znaków. W tym samym celu możemy skorzystać także operatora: „&”, którego przykład opisany jest poniżej.
Sub SumOperators() MsgBox "wyraz_1 " & "wyraz_2" MsgBox "wyraz_1 " + "wyraz_2" End Sub
Jeśli chcielibyśmy wykorzystać operatory mniejszości i większości w odniesieniu do liter, procedura zwróci wartość prawda, bądź fałsz w zależności od tego, które miejsce dana litera zajmuje alfabecie.
Sub LogOperators() MsgBox "A" < "B" 'zwróci wartość True MsgBox "A" = "B" 'zwróci wartość False End Sub
3. Operatory VBA: porównania
Operatory porównania służą nam do porównywania wybranych danych. Ich opis oraz przykład zastosowania zamieszczam poniżej. Stosując poniższą konstrukcję, wynikiem za każdym razem będzie wartość True lub False.
Operator | Nazwa | Przykład |
= | Równe | MsgBox 100 = 200 |
<> | Nierówne | MsgBox 100 <> 200 |
>= | Większe niż | MsgBox 100 >= 200 |
<= | Mniejsze niż | MsgBox 100 <= 200 |
> | Większe | MsgBox 100 > 200 |
< | Mniejsze | MsgBox 100 < 200 |
4. Operatory VBA: logiczne
Podstawą dobrego skryptu jest prawidłowo zapisana logika. Do jej zapisania używać będziemy operatorów logicznych.
Operator | Nazwa | Przykład |
And | Koniunkcja | MsgBox (1 = 1) And (2 <> 3) 'zwróci wartość True |
Or | Alternatywa | MsgBox (1 = 1) Or (2 = 3) 'zwróci wartość True |
Xor | Alternatywa z jednym wyborem. Zwraca wartość false, tylko gdy więcej niż jeden z warunków jest prawdziwy | MsgBox (1 = 1) Xor (2 <> 3) 'zwróci wartość False |
Not | Negacja | MsgBox Not (0 = 1) 'zwróci wartość true |
5. Zadania (Wynik możesz zapisać w komentarzu)
5.1. Zapisz dowolne działanie wykorzystując jednocześnie wszystkie operatory arytmetyczne. Wynikiem działania powinna być liczba 100.
6 komentarzy “Operatory w Excel VBA”
proszę:
Sub program()
MsgBox 32 / 2 * 6 – 10 + 14
End Sub
=(1/1+1-1)*100
Sub LogOperators()
Dim dupa As Double
dupa = 1 ^ 2 * 2 / 2 \ 1 Mod 1 + 2 – 1 & „00”
Range(„A1”) = dupa
End Sub
Sub Zad5_1()
Dim DblResult As Double
DblResult = ((((10 – 6) * 11 / 1) \ 8) ^ 2) * (9 Mod 5)
MsgBox „Wynik działania= ” & DblResult
End Sub
Sub cwicz()
MsgBox ((2 ^ 2 – 2 + 68) / 2 + 15 * 2) + 35
End Sub
Sub OperatoryArytmetyczne()
Dim wyraz As String
wyraz = 0
MsgBox (((8 – 6) ^ 4) \ 3) * (((7 + 2) / 5) Mod 4) & wyraz
End Sub