Expresiile sunt folosite pentru a efectua calcule și alte manipulări în VBA. O expresie este orice combinație de operanzi sau elemente de date (numere, constante, variabile, funcții și alți operanzi) și semne de operare.
Operanzii (operanții) în programare sunt obiecte pe care se realizează anumite acțiuni (operații).
Operatorii sunt simboluri care sunt utilizate pentru a se alătura operanților într-o expresie.
Operațiile în VBA sunt acțiuni care sunt efectuate pe operanzi. Semnele operațiilor din expresie au prioritățile lor.
Expresiile pot consta dintr-un singur operand și pot consta dintr-o combinație de operanzi și semne de operare. Rezultatul evaluării expresiei este valoarea pe care un tip de date valid trebuie să o aibă în VBA.
Rețineți că nu puteți utiliza tipuri de date incompatibile într-o singură expresie.
Operațiile care sunt utilizate pentru a scrie expresii în VBA sunt:
- operațiunile de cesiune;
- operațiuni matematice;
- operații logice;
- operațiuni de comparație (relații);
- operații pentru lucrul cu șiruri de caractere (operații de șir).
Lucrare de asignare
Sintaxa acestei operațiuni este:
- Numele variabilei este numele variabilei (identificatorul);
- Simbolul "=" este semnul operației de atribuire;
- expresia este o valoare (număr), o combinație de variabile, constante, funcții asociate semnelor de funcționare.
Operația de alocare instruiește expresia specificată în partea sa dreaptă să fie executată și atribuie rezultatul la numele variabilei al cărei nume este în stânga.
Instrumentul Set este folosit pentru a atribui variabila de referință obiectului. În general, instrucțiunea Set are următoarea sintaxă:
$ Set objectvar = [Nou] obiectexpresiune [Nimic] $
Rezolvați controlul la toate subiectele. 10 ani de experiență! Prețul este de la 100 de ruble. termen de la 1 zi!
Operatorii matematici nu sunt altceva decât instrucțiunile în care se utilizează operațiile matematice.
Următoarele operații matematice sunt utilizate în VBA: adunarea (+), scăderea (-), înmulțirea (*), împărțirea (/), divizarea fără rest (), restul modulo modulo, exponentiation (^).
În acest caz, fiecare operație are propria sa prioritate, sau așa cum se numește rang. Operațiile de rangul 1 vor avea prioritatea cea mai mare și vor fi executate mai întâi în declarația programului. Operațiile de un rang în expresii sunt efectuate în conformitate cu regulile de asociativitate (de la stânga la dreapta sau invers). Deci, operația de rangul 1 va fi expresia închisă în paranteze (), prioritatea este operarea chemării funcției, 3 operația de exponentiere (^) și așa mai departe, cea mai mică prioritate este 12 Or.
Operatorul de adăugare (+)
Cu ajutorul acestui operator efectuați o adăugare simplă. În acest caz, ambii operanzi sunt expresii numerice sau șiruri care pot fi convertite la un număr. Operatorul de adunare este, de asemenea, utilizat atunci când efectuați operații matematice cu date de tipul Date.
Tipul de date al rezultatului expresiei adiționale este, de obicei, același cu tipul cel mai precis din această expresie. Dar există și excepții:
- Când se adaugă tipuri Single și Long, rezultatul este Double;
- Când adăugați un tip de dată la orice alt tip de date, rezultatul va fi întotdeauna de tip Data;
- Dacă rezultatul este depășit de o gamă de tip Integer, acesta este convertit la Long;
- Dacă rezultatul este depășit de Long, Single, Date, acesta este convertit la Double;
- dacă orice operand din expresia de adăugare este de tip Null, atunci rezultatul expresiei adiționale va fi, de asemenea, de tip Null.
Operatorul de scădere (-)
Acest operator efectuează două sarcini:
- Se utilizează atunci când se scade un număr de la altul;
- reprezintă un minus unar (acesta este un semn minus, care este plasat înaintea unui număr negativ).
Puneți un minus unar înainte ca o variabilă sau o expresie să fie aceeași ca și multiplicarea acestui număr cu -1. Ambii operanzi în expresia de scădere trebuie să fie variabile numerice (expresii) sau expresii de șir care pot fi convertite la un număr. Puteți utiliza acest operator pentru a lucra cu datele.
VBA utilizează aceleași reguli pentru a determina tipul de date al rezultatului expresiei de scădere ca și în cazul expresiilor care utilizează operatorul de adunare. Dar, există o adăugare: dacă ambii operanzi din expresie sunt un tip de dată, atunci rezultatul expresiei va fi de tip Double.
Operatorul de multiplicare (*)
Acest operator multiplică două numere - rezultatul expresiei de multiplicare este produsul a doi operanzi. Ambii operanzi în expresia de multiplicare trebuie să fie expresii numerice sau șiruri care pot fi convertite la un număr.
VBA respectă aceleași reguli pentru determinarea tipului de date al rezultatului expresiei de multiplicare, ca și în cazul expresiilor care utilizează operatorul de adăugare. În expresiile de multiplicare, toate variabilele de variabile care conțin valori de tip Date sunt convertite în valori numerice.
Operatorul diviziei (/)
Operatorul de divizare cu puncte plutitoare efectuează divizarea matematică obișnuită a operanzilor săi. În expresiile divizării, primul operand este împărțit de al doilea și rezultatul divizării este un operand parțial.
Ambii operanzi dintr-o diviziune cu puncte în virgulă mobilă trebuie să fie expresii numerice sau șiruri care pot fi convertite la un număr. Dacă cel puțin un operand în expresia diviziune este de tip Null, rezultatul divizării va fi de asemenea de tip Null.
Tipul de date al unei operațiuni de divizare în virgulă mobilă este dublu, cu excepția cazului în care:
- Ambii operanzi din expresia diviziei au tipurile Integer sau Single - rezultatul va fi de tip Single;
- rezultatul expresiei nu depășește intervalul de valori pentru tipul Single.
Diviziune întreg ()
Diviziunea cu divizoare diferă de diviziunea cu puncte de plutire prin faptul că rezultatele acesteia sunt întotdeauna întregi fără o parte fracționată, expresii numerice sau șiruri care pot fi convertite într-un număr. Înainte de a efectua o operațiune de împărțire în întregime, fiecare operand este rotunjit la un număr de tip Integer sau Long. VBA aruncate înapoi (dar nu rotunji!) Orice restul fracționat al rezultatului expresiei divizării întregi. De exemplu, expresiile 22 \ 5 și 24 \ 5 vor avea același rezultat = 4. Dacă cel puțin un operand în expresia de divizare întreg este de tip Null, atunci rezultatul divizării va fi, de asemenea, de tip Null.