Operatori în Excel VBA

Semnele și cuvintele cheie pe care le folosim pentru a opera variabile în VBA se numesc Operatori VBA. De exemplu, în liniile de mai jos liniile =, +,>, & sunt operatori.

sub Examp () a = 12 b = 10 c = a + b debug.print "Suma a și b este" & c final sub 

Există cinci tipuri de operatori în orice limbaj de programare, deci în VBA
1. Operator de misiune
2. Operator aritmetic
3. Operator de comparație
4. Operator logic
5. Operator de concatenare

Să aruncăm o privire la fiecare tip de operator în Excel VBA.

1. Operator de atribuire (=)

Acesta este primul operator pe care îl veți folosi în orice limbaj de programare. În VBA, este folosit pentru a atribui valori variabilelor. Este „=” (este egal cu).

Folosim acest operator pentru a atribui valori variabilelor din excel VBA. De asemenea, este utilizat ca operator de comparație în VBA. Vom vorbi despre asta mai târziu în acest tutorial.

Un exemplu simplu este

sub test () a = 10 Range ("A1"). valoare = a final sub 

În exemplul de mai sus, folosim mai întâi operatorul de atribuire "=" pentru a atribui valoarea variabilei "a" și apoi folosim operatorul "=" pentru a atribui valoarea lui "a" la valoarea Gama ("A1").

2. Operatori aritmetici

Operatorii aritmetici sunt aceiași operatori pe care îi folosim încă din copilărie pentru a face calcule simple. În Excel VBA, acești operatori sunt utilizați pentru a face calcule asupra variabilelor și numerelor. Sunt:

(+) Adăugare aritmetică:Acest operator este utilizat pentru adăugarea a două sau mai multe numere sau valori a două sau mai multe variabile. Liniile de mai jos însumează valorile celor două variabile și o imprimă pe celula "A1".

Sub Test () a = 10 b = 12 Interval ("A1"). Valoare =a + b Sfârșitul Sub

A1 va avea 22. Acest operator funcționează și ca operator de concatenare. Dacă ambele, a și b vor avea valorile șirului, atunci operatorul + va funcționa ca un operator de concatenare. Vom vedea cum, mai târziu în articol.

(-) Scădere aritmetică:Acest operator este utilizat pentru scăderea unei valori dintr-o altă valoare a variabilelor. Linia de mai jos scade valoarea lui a din b și o imprimă în celula "A1".

Sub Test () a = 10 b = 12 Interval ("A1"). Valoare =b-a Sfârșitul Sub

A1 pe foaie va avea 2.

(*) Înmulțirea aritmetică:Acest operator este utilizat pentru înmulțirea sau obținerea produsului a două sau mai multe numere sau valori a două sau mai multe variabile. Rândurile de mai jos înmulțesc valorile celor două variabile și o imprimă pe celula "A1".

Sub Test () a = 10 b = 12 Interval ("A1"). Valoare =a * b Sfârșitul Sub

Celula A1 va avea valoarea 120.

(/) Divizia aritmetică:Acest operator este utilizat împărțind o valoare de alta. Linia de mai jos împarte valoarea b la variabila a și o imprimă pe celula "A1".

Sub Test () a = 10 b = 12 Interval ("A1"). Valoare =b / a Sfârșitul Sub

Celula A1 va avea valoarea 1.2.

(Mod) Operator de resturi aritmetice în VBA: În timp ce majoritatea PL-urilor folosesc% (modul) pentru obținerea restului, în VBA folosim cuvântul cheie Mod. Acest operator este folosit pentru a obține memento după împărțirea unei valori de alta. Linia de mai jos împarte valoarea b la variabila a și imprimă valoarea memento-ului în celula A1.

Sub Test () a = 10 b = 4 Interval ("A1"). Valoare =a Mod b Sfârșitul Sub 

Celula A1 va avea valoarea 2.

(^) Aritmetică exponențială:Acest operator este folosit pentru a obține exponentul unei valori la alta. Liniile de mai jos ne dau valoarea 3 pentru exponențialul 4.

Sub Test () a = 3 b = 4 Interval ("A1"). Valoare =a b Sfârșitul Sub

Celula A1 va avea valoarea 81 (3x3x3x3).

Acești operatori din VBA respectă regula BODMAS. Există doar 6 operatori aritmetici în VBA. Există unii operatori care acționează ca două tipuri de operatori precum +. Veți afla despre ele pe măsură ce parcurgeți acest tutorial.

3. Operatori de comparație

Când vrem să comparăm două valori în VBA, folosim operatorii de comparație. Rezultatul operatorului de comparație este întotdeauna boolean. Dacă afirmația este adevărată, atunci rezultatul în TRUE. Dacă declarația este falsă, atunci valoarea este False. Acești operatori sunt frecvent utilizați în luarea deciziilor în VBA. Să vedem care sunt:

(=) Egal:Da, semnul = (egal cu) este, de asemenea, utilizat ca operator de comparație în VBA. Când vrem să verificăm dacă cele două variabile sunt sau nu egale, atunci folosim acest operator de comparație.

Sub Test () a = 3 b = 4 Dacă a = b, atunci „Se va returna MsgBox fals„ A și b sunt egale ”. 'acest lucru nu va fi executat. Altfel MsgBox „A și b nu sunt egale” End IF End Sub

În exemplul de mai sus, folosim instrucțiunea If și verificăm dacă valorile lui a și b sunt egale. În mod clar nu sunt. Prin urmare, declarația Else este tipărită.

Puteți să o verificați pur și simplu utilizând declarația.

a = 3 b = 4 debug.print a = b

Aceasta va imprima False în fereastra imediată.

(<) Mai puțin de:Aceasta este utilizată pentru a verifica dacă valoarea din stânga este mai mică decât valoarea din dreapta sau nu.

Sub Test () a = 3 b = 4 Dacă a

În exemplul de mai sus, verificăm dacă valoarea lui a este mai mică decât b. Deoarece acest lucru este adevărat, instrucțiunea if este executată, iar Else nu.

Puteți să o verificați pur și simplu utilizând declarația.

a = 3 b = 4 debug.print a<>

Aceasta va imprima True în fereastra imediată.

(<=) Mai mic sau egal cu:Aceasta este utilizată pentru a verifica dacă valoarea stângă este mai mică sau egală cu valoarea corectă sau nu.

Subtest () a = 4 b = 4 Dacă a <= b atunci 'Va returna True MsgBox "A este mai mic sau egal cu b." 'acest lucru va fi executat. Altfel MsgBox "A nu este egal sau mai mic decât b." 'acest lucru nu va fi executat. End IF End Sub

În exemplul de mai sus, verificăm dacă valoarea lui a este mai mică decât b. Deoarece acest lucru este adevărat, instrucțiunea If este executată, iar altfel nu.

Puteți să o verificați pur și simplu utilizând declarația.

a = 4 b = 4 debug.print a <-b

Aceasta va imprima True în fereastra imediată.

(>) Mai mare decât:Aceasta este utilizată pentru a verifica dacă valoarea din stânga este mai mare decât valoarea din dreapta sau nu.

Sub Test () a = 3 b = 4 Dacă a> b, atunci „Se va returna False MsgBox„ A este mai mare decât b ”. „Acest lucru nu va fi executat. Altfel MsgBox "A nu este mai mare decât b." „Aceasta va fi executată. End IF End Sub

În exemplul de mai sus, verificăm dacă valoarea lui a este mai mare decât b. Deoarece acest lucru este fals, declarația if nu va fi executată și altfel.

Puteți să o verificați pur și simplu utilizând declarația.

a = 3 b = 4 debug.print a> b

Aceasta va imprima False în fereastra imediată.

(> =) Mai mare decât:Aceasta este utilizată pentru a verifica dacă valoarea din stânga este mai mare sau egală cu valoarea corectă sau nu.

Subtest () a = 3 b = 4 Dacă a> = b, atunci va returna False MsgBox „A este mai mare sau egal cu b”. „Acest lucru nu va fi executat. Altfel MsgBox "A nu este mai mare decât sau egală cu b." „Aceasta va fi executată. Sfârșitul IF

În exemplul de mai sus, verificăm dacă valoarea lui a este mai mare sau egală cu b. Deoarece acest lucru este fals, declarația if nu va fi executată și altfel.

Puteți să o verificați pur și simplu utilizând declarația.

a = 3 b = 4 debug.print a> = b

Aceasta va imprima False în fereastra imediată.

() Nu este egal cu:Aceasta este utilizată pentru a verifica dacă valoarea din stânga nu este egală cu valoarea corectă.

Sub Test () a = 3 b = 4 Dacă ab atunci 'Se va returna True MsgBox "A nu este egal cu b,"' Acesta va fi executat. Altfel MsgBox "A și b sunt egale." - Acest lucru nu va fi executat. End IF End Sub

În exemplul de mai sus, verificăm dacă valoarea lui este nu este egal cu b. Deoarece acest lucru este adevărat, instrucțiunea If va fi executată, iar altfel nu.

Puteți să o verificați pur și simplu utilizând declarația.

a = 3 b = 4 debug.print ab

Aceasta va imprima True în fereastra imediată.

Cei șase operatori de mai sus sunt numiți operatori de comparație, deoarece îi folosim pentru a compara două valori sau variabile. Le veți folosi foarte mult în VBA pentru a lua decizii în VBA.

4. Operatori logici

Operatorii logici sunt utilizați pentru efectuarea operațiilor logice pe una sau mai multe variabile. Rezultatul unor astfel de operațiuni are ca rezultat întotdeauna ADEVĂRAT sau FALS. Operatorii logici sunt adesea folosiți (nu întotdeauna) pentru a verifica mai multe condiții.

Mai jos sunt operatorii logici pe care îi folosim în VBA:

VBA ȘI Operator (Și *): Operatorul VBA AND este utilizat pentru a se asigura că condițiile din stânga și din dreapta sunt adevărate. Dacă oricare dintre condiții este False, atunci întreaga declarație va avea ca rezultat False. Folosim cuvântul cheie Și sau semnul * (asterisc) pentru operațiile ȘI.

Verificați declarația de mai jos:

Subtest () a = 10 b = 20 Dacă a <15 Și b <15 Atunci MsgBox „a și b ambele sunt mai mici de 15.” „Nu se execută. Altfel MsgBox „Fie a sau b este mai mare sau egal cu 15.” „Aceasta este executată. End If End Sub 

Când rulăm fragmentul de mai sus, a doua instrucțiune if nu este executată. Pentru că prima afirmație din stânga este adevărată, dar afirmația din dreapta este Falsă. Prin urmare, întreaga declarație returnează False.

În majoritatea limbilor, simbolul & este utilizat ca operator ȘI nu în VBA. În VBA puteți utiliza operatorul de multiplicare * (asterisc) ca operator ȘI pentru a vă asigura că ambele condiții sunt adevărate.

În exemplul de mai sus, puteți utiliza instrucțiunea de mai jos if pentru a face același lucru.

Dacă (a <15) * (b <15) Atunci

Trebuie să utilizați paranteze pentru a separa declarațiile condiționale. În caz contrar, declarațiile vor urma regula BODMAS și rezultatul va fi inexact.

Q1: Care va fi rezultatul declarației de mai jos? Spuneți-mi în secțiunea de comentarii de mai jos:

debug.print a10 ȘI a = (b / 2) ȘI a<>

Când valoarea lui a este 15 și b este 30. Notați în secțiunea de comentarii de mai jos.

Operator VBA SAU (Sau +): Operatorul OR este utilizat atunci când dorim să ne asigurăm că fie starea Stânga este ADEVĂRATĂ, fie starea Dreapta este ADEVĂRATĂ. Dacă oricare dintre cele două condiții este adevărată, atunci rezultatul va fi adevărat. Folosim cuvântul cheie SAU între două instrucțiuni booleene. De asemenea, puteți utiliza semnul + (plus) pentru operația SAU. Asigurați-vă că utilizați corect parantezele pentru a clarifica afirmațiile în timp ce utilizați semnul +.

Examinați codul de mai jos:

Subtest () a = 10 b = 20 Dacă a <15 Sau b <15 Atunci MsgBox „Fie a sau b este mai mic de 15.” „Aceasta este executată. Altfel MsgBox „Nici a nici b nu sunt mai mici de 15.” „Nu se execută. End If End Sub

Când executăm codul de mai sus, primul mesaj este afișat și al doilea mesaj este omis. Deoarece a este mai mic de 15 și b nu este. Este nevoie de o singură condiție pentru a fi True cu operatorul OR pentru a obține rezultatul ca fiind adevărat.

Scrieți declarația ca:

Dacă (a <15) + (b <15) Atunci

Q2: Care va fi rezultatul declarației de mai jos? Spuneți-mi în secțiunea de comentarii de mai jos:

debug.print a10 Sau a = (b / 2) sau a<>

Când valoarea lui a este 10 și b este 5. Notați în secțiunea de comentarii de mai jos.

VBA NU Operator (Nu): Operatorul Not este utilizat pentru a inversa valoarea booleană. Cu alte cuvinte, declarația cu operatorul Not returnează True dacă declarația dinaintea ei este False. De exemplu, dacă utilizați cuvântul cheie Not înainte de o declarație adevărată, va rezulta False și viceversa. În VBA, folosim Nu cuvânt cheie pentru a verifica dacă ceva nu este adevărat sau fals (?).

Subtest () a = 10 b = 10 Dacă nu a = b Atunci MsgBox „a și b nu sunt egale”. Altfel MsgBox "a și b ambele sunt egale." 'Acest lucru este executat End If End Sub

În codul de mai sus, declarațieNu a = bva reveni fals. Inițial, a = b este adevărat, dar așa cum am folosit Not înainte, rezultatul este invers și declarația se transformă în Fals. În exemplul de mai sus, am folosit singurele afirmații dinaintea acestuia. Puteți avea oricâte afirmații doriți înainte de a nu fi operator. Închideți-le doar între paranteze.

Î3: Care va fi rezultatul declarației de mai jos? Spuneți-mi în secțiunea de comentarii de mai jos:

debug.print a10 Sau nu (a = (b / 2) * a<>

Când valoarea lui a este 10 și b este 5. Notați în secțiunea de comentarii de mai jos.

5. Operatori de concatenare (& sau +)

Acești operatori sunt utilizați pentru concatenarea șirurilor. Simbolul & este utilizat pentru concatenarea textelor. Este operatorul recomandat să concateneze șiruri. Cu toate acestea, puteți utiliza și semnul + pentru a concatena.

Semnul plus concatenează două variabile numai atunci când ambele sunt șiruri. Dacă oricare dintre șiruri nu este șir, semnul + va funcționa ca un operator de adăugare.

Vezi codul de mai jos:

Subtest () a = "Exceltip" b = "este numărul" c = 1 d = 2 Debug.print a & b & c 'acesta va tipări "Exceltip este numărul 1" Debug.print a + b & c & d' se va tipări „Exceltip este numărul 12 'Debug.print a + b + c' aceasta va fi o eroare. End Sub

În codul de mai sus, primele două linii vor funcționa perfect. A treia linie va avea o eroare deoarece încercăm să adăugăm text cu numere. Pentru a concatena numerele folosim întotdeauna & (amp).

Operatori multifuncționali în VBA

Prin exemplele de mai sus, trebuie să fi învățat că există mulți operatori care funcționează diferit în diferite situații.

Semnul + funcționează ca operator de adăugare în timp ce lucrează cu numere. În timp ce lucrați cu valori booleene, semnul plus funcționează ca operator Sau în VBA. Atunci când este utilizat cu valori de șir, operatorul plus funcționează ca un operator de concatenare. Rândurile de mai jos sunt valabile:

Debug.Print 10 + 20 'imprimă 30. + funcționează ca operator de adăugare. Debug.Print (1020) 'imprimă True. + funcționează ca operator Sau. Debug.Print "10" + "20" 'Imprimă 1020. Semnul + funcționează ca operator de concatenare. 

Semnul asterisc (*) funcționează ca un operator de multiplicare atunci când operanzii sunt numerici. Când operanzii sunt booleeni, asteriscul funcționează ca And Operator.

Liniile de cod de mai jos funcționează perfect.

Debug.Print 10 * 20 'imprime 200. * Funcționează ca operator de multiplicare. Debug.Print (1020) 'tipărește False. Semnul + funcționează ca operator And. 

Deci, băieți, totul despre operatorii din VBA. Sper că a fost de ajutor. Dacă aveți îndoieli cu privire la operatorii din VBA, întrebați în secțiunea de comentarii de mai jos.

Instrucțiunea If ElseIf din VBA | Instrucțiunea If ElseIf, următoarea condiție este verificată numai atunci când condiția anterioară cade. Când o condiție este potrivită, codul din blocul respectiv este executat și controlul iese din blocul If.

Domeniul de aplicare variabil VBA Excel | Și VBA are specificatori de domeniu. Acești specificatori de domeniu pot fi utilizați pentru a seta vizibilitatea / sfera unei variabile în Excel VBA.

Declarație de caz selectată VBA | Declarațiile de caz selectate sunt utile atunci când aveți prea multe condiții de verificat. Acestea sunt înlocuitoare excelente ale mai multor instrucțiuni If ElseIf.

Utilizarea Loop în VBA în Microsoft Excel | Buclele din VBA ne permit să facem o sarcină similară mereu și fără repetarea codului. Există 3 tipuri de bucle în Excel VBA.

Argumente ByRef și ByVal | Atunci când un argument este transmis ca argument ByRef către o altă funcție sau sub, se trimite referința variabilei reale. Orice modificare adusă copiei variabilei se va reflecta în argumentul original.

Afișați un mesaj pe bara de stare Excel VBA Bara de stare în excel poate fi utilizată ca monitor de cod. Când codul dvs. VBA este lung și faceți mai multe sarcini folosind VBA, dezactivați adesea actualizarea ecranului, astfel încât să nu vedeți ecranul care pâlpâie

Dezactivați mesajele de avertizare folosind VBA în Microsoft Excel 2016 | Acest cod nu numai că dezactivează alertele VBA, ci și crește eficiența timpului codului. Să vedem cum.

Articole populare:

50 de comenzi rapide Excel pentru a vă crește productivitatea | Deveniți mai rapid la sarcina dvs. Aceste 50 de comenzi rapide vă vor face să lucrați și mai rapid pe Excel.

Funcția VLOOKUP în Excel | Aceasta este una dintre cele mai utilizate și populare funcții ale Excel, care este utilizată pentru a căuta valoarea din diferite intervale și foi.

COUNTIF în Excel 2016 | Numărați valorile cu condiții folosind această funcție uimitoare. Nu trebuie să vă filtrați datele pentru a număra o anumită valoare. Funcția Countif este esențială pentru a vă pregăti tabloul de bord.

Cum se utilizează funcția SUMIF în Excel | Aceasta este o altă funcție esențială a tabloului de bord. Acest lucru vă ajută să rezumați valori în condiții specifice.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave