Operatori VBA și funcții încorporate

Declarații Excel VBA

Când scrieți codul VBA în Excel, la fiecare pas este utilizat un set de operatori încorporați. Acești operatori sunt împărțiți în operatori matematici, de șir, de comparație și logici. În continuare, ne vom uita la fiecare grup de operatori în detaliu.

Operatori matematici

Principalii operatori matematici VBA sunt enumerați în tabelul de mai jos.

Coloana din dreapta a tabelului arată prioritatea implicită a operatorului în absența parantezelor. Adăugând paranteze la o expresie, puteți modifica ordinea în care instrucțiunile VBA sunt executate după cum doriți.

OperatorAcțiuneprioritate

(1 – cel mai mare; 5 – cel mai mic)

^operator de exponentiare1
*operator de multiplicare2
/operator de divizie2
Împărțire fără rest – returnează rezultatul împărțirii a două numere fără rest. De exemplu, 74 va returna rezultatul 13
CurajOperatorul Modulo (restul) – returnează restul după împărțirea a două numere. De exemplu, 8 Împotriva 3 va returna rezultatul 2.4
+Operator de adaos5
-operator de scădere5

Operatori de șiruri

Operatorul șir de bază în Excel VBA este operatorul de concatenare & (combina):

OperatorAcțiune
&operator de concatenare. De exemplu, expresia „A” și „B” va returna rezultatul AB.

Operatori de comparație

Operatorii de comparare sunt utilizați pentru a compara două numere sau șiruri de caractere și pentru a returna o valoare booleană de tip boolean (Adevărat sau fals). Principalii operatori de comparare Excel VBA sunt enumerați în acest tabel:

OperatorAcțiune
=In aceeasi masura
<>Nu este egal
<Mai puțin
>Больше
<=Mai mic sau egal
>=Mai mare sau egal

operatorii logici

Operatorii logici, precum operatorii de comparație, returnează o valoare booleană de tip boolean (Adevărat sau fals). Principalii operatori logici ai Excel VBA sunt enumerați în tabelul de mai jos:

OperatorAcțiune
Șioperație de conjuncție, operator logic И. De exemplu, expresia A și B va reveni Adevărat, dacă A и B ambele sunt egale Adevărat, altfel reveniți Fals.
OrOperație de disjuncție, operator logic OR. De exemplu, expresia A sau B va reveni Adevărat, dacă A or B sunt egale Adevărat, și se va întoarce Fals, dacă A и B ambele sunt egale Fals.
NuOperație de negație, operator logic NU. De exemplu, expresia Nu A va reveni Adevărat, dacă A la fel de Fals, sau întoarce-te Fals, dacă A la fel de Adevărat.

Tabelul de mai sus nu listează toți operatorii logici disponibili în VBA. O listă completă a operatorilor logici poate fi găsită la Centrul pentru dezvoltatori Visual Basic.

Funcții încorporate

Există multe funcții încorporate disponibile în VBA care pot fi utilizate la scrierea codului. Mai jos sunt enumerate unele dintre cele mai frecvent utilizate:

FuncţieAcțiune
AbsReturnează valoarea absolută a numărului dat.

Exemplu:

  • Abs (-20) returnează valoarea 20;
  • Abs(20) returnează valoarea 20.
chrReturnează caracterul ANSI corespunzător valorii numerice a parametrului.

Exemplu:

  • Chr(10) returnează o întrerupere de linie;
  • Chr(97) returnează un caracter a.
DataReturnează data curentă a sistemului.
DataAddAdaugă un interval de timp specificat la data dată. Sintaxa funcției:

DateAdd(интервал, число, дата)

Unde este argumentul interval determină tipul de interval de timp adăugat celui dat data în suma specificată în argument număr.

Argument interval poate lua una dintre următoarele valori:

IntervalValoare
aaaaan
qtrimestru
mlună
yziua anului
dzi
wzi a săptămânii
wwsăptămână
horă
nminut
sal doilea

Exemplu:

  • DataAdăugare(«d», 32, «01/01/2015») adaugă 32 de zile la data 01/01/2015 și astfel returnează data 02/02/2015.
  • DataAdăugare(«ww», 36, «01/01/2015») adaugă 36 de săptămâni la data 01/01/2015 și returnează data 09/09/2015.
DataDiffCalculează numărul de intervale de timp specificate între două date date.

Exemplu:

  • DateDiff(«d», «01/01/2015», «02/02/2015») calculeaza numarul de zile intre 01/01/2015 si 02/02/2015, returneaza 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») calculează numărul de săptămâni între 01/01/2015 și 03/03/2016, returnează 61.
ZiReturnează un număr întreg corespunzător zilei lunii din data dată.

Exemplu: Ziua(«29») returnează numărul 29.

orăReturnează un număr întreg corespunzător numărului de ore la ora dată.

Exemplu: Ora(«22:45:00») returnează numărul 22.

InStrEste nevoie de un număr întreg și două șiruri de caractere ca argumente. Returnează poziția de apariție a celui de-al doilea șir în cadrul primului, pornind căutarea la poziția dată de un număr întreg.

Exemplu:

  • InStr(1, „Aici este cuvântul de căutare”, „cuvânt”) returnează numărul 13.
  • InStr(14, „Aici este cuvântul de căutare și aici este un alt cuvânt de căutare”, „cuvânt”) returnează numărul 38.

Notă: Argumentul număr poate să nu fie specificat, caz în care căutarea începe de la primul caracter al șirului specificat în al doilea argument al funcției.

IntReturnează partea întreagă a numărului dat.

Exemplu: Int(5.79) returnează rezultatul 5.

IsdateReturnări Adevăratdacă valoarea dată este o dată sau Fals – dacă data nu este.

Exemplu:

  • IsDate(«01/01/2015») Returnează Adevărat;
  • IsDate(100) Returnează Fals.
IsErrorReturnări Adevăratdacă valoarea dată este o eroare sau Fals – dacă nu este o eroare.
LipsesteNumele unui argument de procedură opțională este transmis ca argument funcției. Lipseste Returnează Adevăratdacă nu a fost transmisă nicio valoare pentru argumentul procedurii în cauză.
EsteNumericReturnări Adevăratdacă valoarea dată poate fi tratată ca un număr, în caz contrar revine Fals.
StângaReturnează numărul specificat de caractere de la începutul șirului dat. Sintaxa funcției este astfel:

Left(строка, длина)

Unde linie este șirul original și lungime este numărul de caractere de returnat, numărând de la începutul șirului.

Exemplu:

  • Stânga(„abvgdejziklmn”, 4) returnează șirul „abcg”;
  • Stânga(„abvgdejziklmn”, 1) returnează șirul „a”.
LenReturnează numărul de caractere dintr-un șir.

Exemplu: Len(„abcdej”) returnează numărul 7.

LunăReturnează un număr întreg corespunzător lunii datei date.

Exemplu: Luna(«29») returnează valoarea 1.

La mijloculReturnează numărul specificat de caractere de la mijlocul șirului dat. Sintaxa funcției:

mijlocul(linie, Începe, lungime)

Unde linie este șirul original Începe – poziția începutului șirului de extras, lungime este numărul de caractere care trebuie extrase.

Exemplu:

  • Mid(„abvgdejziklmn”, 4, 5) returnează șirul „unde”;
  • Mid(„abvgdejziklmn”, 10, 2) returnează șirul „cl”.
MinutReturnează un număr întreg corespunzător numărului de minute din timpul dat. Exemplu: Minut(«22:45:15») returnează valoarea 45.
AcumReturnează data și ora curentă a sistemului.
DreaptaReturnează numărul specificat de caractere de la sfârșitul șirului dat. Sintaxa funcției:

Dreapta(linie, lungime)

Unde linie este șirul original și lungime este numărul de caractere de extras, numărând de la sfârșitul șirului dat.

Exemplu:

  • Dreapta(«abvgdezhziklmn», 4) returnează șirul „clmn”;
  • Dreapta(«abvgdezhziklmn», 1) returnează șirul „n”.
Al doileaReturnează un număr întreg corespunzător numărului de secunde din timpul dat.

Exemplu: A doua («22:45:15») returnează valoarea 15.

sqrReturnează rădăcina pătrată a valorii numerice transmise în argument.

Exemplu:

  • Sqr(4) returnează valoarea 2;
  • Sqr(16) returnează valoarea 4.
TimpReturnează ora curentă a sistemului.
UoundReturnează superscriptul dimensiunii matricei specificate.

Notă: Pentru tablourile multidimensionale, un argument opțional poate fi indexul cărei dimensiuni trebuie returnate. Dacă nu este specificat, valoarea implicită este 1.

anReturnează un număr întreg corespunzător anului datei date. Exemplu: An(«29») returnează valoarea 2015.

Această listă include doar o selecție a celor mai frecvent utilizate funcții încorporate Excel Visual Basic. O listă completă a funcțiilor VBA disponibile pentru utilizare în macrocomenzi Excel poate fi găsită în Centrul pentru dezvoltatori Visual Basic.

Lasă un comentariu