Gli operatori più comuni in VBA e la loro sintassi, si dividono in:
- Aritmetici;
- comparatori
- Logici;
- Di concatenamento.
Operatori aritmetici:
Operatore | Descrizione | Esempio |
---|
+ | addizione | 5 + 2 = 7 |
- | sottrazione | 5 - 2 = 3 |
* | moltiplicazione | 5 * 2 = 10 |
/ | divisione | 5 / 2 = 2,5 |
\ | divisione intera | 5 \ 2 = 2 |
% | resto delle divisione | 5 % 2 = 1 |
Mod | resto delle divisione | 5 mod 3 = 2 |
^ | elevamento a potenza | 5 ^ 2 = 10 |
|
Operatori di confronto fra numeri:
Operatore | Descrizione |
---|
= | Uguaglianza fra variabili |
<> | Diverso |
< | Minore |
<= | Minore o uguale |
> | Maggiore |
>= | Maggiore o uguale |
|
Confronto fra stringhe:
Nel caso di numeri il risultato dei confronti è intuitivo, nel caso di strighe dipende dall'istruzione Option Compare.
Scrivendo Option Compare Binary il confr dipende da come vengono memorizzati i caratteri, la sequenza sotto mostra come vengono conforntati:
A < B < C < Z < a < b < c < z < À < Ê < à < ê
Se scriviamo invece Option Compare Text avremo:
A = a , A < b , À = à , B = b , À < C < ê
Quindi un confronto che non tiene conto delle maiuscole o delle lettere accentate
Operatore di confronto like
Per le stringhe, a volte, è comodo il confronto con un modelle; si usa con questa sintassi:
Check = Testo
Like modello
Per il modello è possibile utilizzare quessti caratteri o annotazioni:
? | Qualsiasi carattere singolo |
* | Zero o più caratteri (qualsiasi) |
# | Qualsiasi cifra |
[listacaratteri] | Qualsiasi carattere singolo compreso in listacaratteri |
[!listacaratteri] | Qualsiasi carattere singolo non compreso in listacaratteri |
- es. [A-F] | Qualsiasi carattere singolo compreso fra A e F |
[?] ,[*] ,[#] | I singoli caratteri ? * # |
|
Alcuni esempi:
Dim Chek as
Boolean
Check = "C"
Like "[A-H]"
' Vero
Check = "C"
Like "[|A-H]"
' Falso
Check = "aBBBa"
Like "a*a"
' Vero
Check = "35010"
Like "#####"
' Vero (CAP)
Check = "AB21"
Like "[A-Z][A-Z]##"
' Vero
Operatori logici:
Per l'esempio considerate a=1 e b=0
Operatore | Descrizione | Esempio |
---|
AND | True se entrambe sono True | a<>0 AND b<>0 = FALSE |
OR | True se almeno una è True | a<>0 OR b<>0 = FALSE |
NOT | True se l'argomento è False | NOT(a<>0) = FALSE |
XOR | True se una è False e l'altra True | a<>0 XOR b<>0 = TRUE |
|
Concatenamento:
Tipo di dati | Operatore | Descrizione | Esempio |
---|
Stringhe | & o + | Concatenamento | "AA" & "BB" = "AABB" |
Numeri | & | Concatenamento | 1 & 2 = 12 |
Numeri | + | Somma | 1 + 2 = 3 |
|