„Excel VBA“ operatoriai

Ženklai ir raktiniai žodžiai, kuriuos naudojame kintamajam VBA, vadinami VBA operatoriais. Pavyzdžiui, žemiau esančiose eilutėse =, +,>, & yra operatoriai.

sub Examp () a = 12 b = 10 c = a+b debug.print "a ir b suma yra" & c pabaigos sub 

Bet kurioje programavimo kalboje yra penki operatorių tipai, taigi ir VBA
1. Priskyrimo operatorius
2. Aritmetinis operatorius
3. Palyginimo operatorius
4. Loginis operatorius
5. Sujungimo operatorius

Pažvelkime į kiekvieną „Excel VBA“ operatoriaus tipą.

1. Priskyrimo operatorius (=)

Tai pirmasis operatorius, kurį ketinate naudoti bet kuria programavimo kalba. VBA jis naudojamas reikšmėms priskirti kintamiesiems. Tai yra "=" (lygu).

Mes naudojame šį operatorių, norėdami priskirti reikšmes kintamiesiems „Excel VBA“. Jis taip pat naudojamas kaip palyginimo operatorius VBA. Apie tai kalbėsime vėliau šioje pamokoje.

Vienas paprastas pavyzdys yra

sub testas () a = 10 diapazonas ("A1"). vertė = pabaiga 

Anksčiau pateiktame pavyzdyje mes pirmiausia naudojame priskyrimo operatorių „=“, kad priskirtume reikšmę kintamajam „a“, o tada naudodami „=“ operatorių, norėdami priskirti „a“ reikšmę diapazono vertei („A1“).

2. Aritmetikos operatoriai

Aritmetiniai operatoriai yra tie patys operatoriai, kuriuos mes naudojame nuo vaikystės paprastiems skaičiavimams atlikti. „Excel VBA“ šie operatoriai naudojami skaičiuojant kintamuosius ir skaičius. Jie yra:

(+) Aritmetinis papildymas:Šis operatorius naudojamas pridėti du ar daugiau skaičių ar dviejų ar daugiau kintamųjų reikšmių. Žemiau esančios eilutės apibendrina dviejų kintamųjų reikšmes ir spausdina jas langelyje „A1“.

Antrasis testas () a = 10 b = 12 diapazonas ("A1"). Vertė =a+b Pabaiga Sub

A1 turės 22. Šis operatorius taip pat dirba kaip sujungimo operatorius. Jei abu, a ir b turės eilutės reikšmes, + operatorius veiks kaip sujungimo operatorius. Kaip tai pamatysime vėliau straipsnyje.

(-) Aritmetinis atėmimas:Šis operatorius naudojamas atimant vieną reikšmę iš kitos kintamųjų vertės. Žemiau esanti eilutė atima a reikšmę iš b ir išspausdina ją langelyje „A1“.

Antrasis testas () a = 10 b = 12 diapazonas ("A1"). Vertė =b-a Pabaiga Sub

A1 lape bus 2.

(*) Aritmetinis daugyba:Šis operatorius naudojamas dauginant arba gaunant dviejų ar daugiau skaičių arba dviejų ar daugiau kintamųjų reikšmių sandaugą. Žemiau esančios eilutės padaugina dviejų kintamųjų reikšmes ir atspausdina jas langelyje „A1“.

Antrasis testas () a = 10 b = 12 diapazonas ("A1"). Vertė =a*b Pabaiga Sub

A1 langelio vertė bus 120.

(/) Aritmetikos skyrius:Šis operatorius naudojamas dalijant vieną vertę iš kitos. Žemiau esanti eilutė padalija reikšmę b iš kintamojo a ir išspausdina ją langelyje „A1“.

Antrasis testas () a = 10 b = 12 diapazonas ("A1"). Vertė =b/a Pabaiga Sub

Langelio A1 vertė bus 1,2.

(Mod) Aritmetikos likučių operatorius VBA: Nors dauguma PL naudoja % (modulį), kad gautų likusią dalį, VBA mes naudojame raktinį žodį Mod. Šis operatorius naudojamas gauti priminimą padalijus vieną vertę iš kitos. Žemiau esanti eilutė padalija reikšmę b iš kintamojo a ir išspausdina priminimo reikšmę langelyje A1.

Antrasis testas () a = 10 b = 4 diapazonas ("A1"). Vertė =a Mod. b Pabaiga Sub 

A1 langelis turės 2 reikšmę.

(^) Eksponentinis aritmetinis:Šis operatorius naudojamas vienos vertės eksponentui perkelti į kitą. Žemiau esančios eilutės suteikia mums 3 reikšmę eksponentiniam 4.

Antrasis testas () a = 3 b = 4 diapazonas ("A1"). Vertė =a^b Pabaiga Sub

Langelio A1 vertė bus 81 (3x3x3x3).

Šie VBA operatoriai laikosi BODMAS taisyklės. VBA yra tik 6 aritmetiniai operatoriai. Kai kurie operatoriai veikia kaip dviejų tipų operatoriai, tokie kaip +. Peržiūrėję šią pamoką sužinosite apie juos.

3. Palyginimo operatoriai

Kai norime palyginti dvi VBA reikšmes, naudojame palyginimo operatorius. Palyginimo operatoriaus rezultatas visada yra loginis. Jei teiginys yra teisingas, rezultatas yra TRUE. Jei teiginys yra klaidingas, vertė yra klaidinga. Šie operatoriai dažnai naudojami priimant sprendimus VBA. Pažiūrėkime, kas jie yra:

(=) Lygu:Taip, ženklas (= lygus) taip pat naudojamas kaip palyginimo operatorius VBA. Kai norime patikrinti, ar du kintamieji yra lygūs, ar ne, mes naudojame šį palyginimo operatorių.

Antrinis testas () a = 3 b = 4 Jei a = b, tada „Tai grąžins klaidingą„ MsgBox “„ A ir b yra lygūs “. 'tai nebus įvykdyta. Kita „MsgBox“ „a“ ir „b“ nėra lygūs “End IF End Sub

Pirmiau pateiktame pavyzdyje mes naudojame teiginį „If“ ir patikriname, ar a ir b reikšmės yra lygios. Jie akivaizdžiai ne. Taigi, kitas pareiškimas yra atspausdintas.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 3 b = 4 derinimas. atspaudas a = b

Tai atspausdins klaidą tiesioginiame lange.

(<) Mažiau nei:Tai naudojama norint patikrinti, ar kairioji vertė yra mažesnė už dešinę, ar ne.

Antrasis testas () a = 3 b = 4 Jei a

Pirmiau pateiktame pavyzdyje mes patikriname, ar a reikšmė yra mažesnė nei b. Kadangi tai tiesa, teiginys „if“ įvykdomas, o kitas - ne.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 3 b = 4 derinimas.spausdinti a<>

Tai atspausdins „True“ tiesioginiame lange.

(<=) Mažiau arba lygu:Tai naudojama norint patikrinti, ar kairioji vertė yra mažesnė arba lygi dešinei, ar ne.

Antrinis testas () a = 4 b = 4 Jei a <= b, tada jis grąžins „True MsgBox“ „A a yra mažesnis arba lygus b“. 'tai bus įvykdyta. Kita „MsgBox“ „a nėra lygus ar mažesnis už b“. 'tai nebus įvykdyta. Pabaiga Jei pabaiga Sub

Pirmiau pateiktame pavyzdyje mes patikriname, ar a reikšmė yra mažesnė nei b. Kadangi tai tiesa, „If“ teiginys vykdomas, o kitas - ne.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 4 b = 4 derinimas. atspausdinti a <-b

Tai atspausdins „True“ tiesioginiame lange.

(>) Didesnis nei:Tai naudojama norint patikrinti, ar kairioji vertė yra didesnė už dešinę, ar ne.

Antrinis testas () a = 3 b = 4 Jei a> b, tada „Tai grąžins klaidingą„ MsgBox “„ A a yra didesnis nei b “. 'Tai nebus įvykdyta. Kita „MsgBox“ „A yra ne didesnis kaip b“. 'Tai bus įvykdyta. Pabaiga Jei pabaiga Sub

Pirmiau pateiktame pavyzdyje mes patikriname, ar a reikšmė yra didesnė nei b. Kadangi tai klaidinga, „if“ teiginys nebus įvykdytas, o „Else“ tai padarys.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 3 b = 4 derinimas. spausdinti a> b

Tai atspausdins klaidą tiesioginiame lange.

(> =) Didesnis nei:Tai naudojama norint patikrinti, ar kairioji vertė yra didesnė ar lygi dešinei, ar ne.

Antrinis testas () a = 3 b = 4 Jei a> = b, tada jis grąžins klaidingą „MsgBox“ „A a yra didesnis arba lygus b“. 'Tai nebus įvykdyta. Kita „MsgBox“ „a yra ne didesnis arba lygus b“. 'Tai bus įvykdyta. Baigti IF

Pirmiau pateiktame pavyzdyje mes patikriname, ar a reikšmė yra didesnė ar lygi b. Kadangi tai klaidinga, „if“ teiginys nebus įvykdytas, o „Else“ tai padarys.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 3 b = 4 derinimas. spausdinimas a> = b

Tai atspausdins klaidą tiesioginiame lange.

() Nelygu:Tai naudojama norint patikrinti, ar kairioji vertė nėra lygi dešinei.

Antrasis testas () a = 3 b = 4 Jei ab tada 'Tai grąžins tikrąją „MsgBox“ „A a nėra lygus b“, „Tai bus vykdoma. Kita „MsgBox“ „A ir b yra lygūs“. 'Tai nebus įvykdyta. Pabaiga Jei pabaiga Sub

Pirmiau pateiktame pavyzdyje mes patikriname, ar a reikšmė yra nelygu b. Kadangi tai tiesa, „If“ pareiškimas bus įvykdytas, o kitas - ne.

Tai galite patikrinti tiesiog naudodami pareiškimą.

a = 3 b = 4 derinimas. spaudinys ab

Tai atspausdins „True“ tiesioginiame lange.

Pirmiau minėti šeši operatoriai vadinami palyginimo operatoriais, nes mes juos naudojame dviem vertėms ar kintamiesiems palyginti. Jūs daug naudosite juos VBA priimdami sprendimus VBA.

4. Loginiai operatoriai

Loginiai operatoriai naudojami loginėms operacijoms atlikti su vienu ar daugiau kintamųjų. Tokių operacijų rezultatas visada yra TRUE arba FALSE. Loginiai operatoriai dažnai (ne visada) naudojami patikrinti daugiau nei vieną sąlygą.

Žemiau yra loginiai operatoriai, kuriuos naudojame VBA:

VBA IR operatorius (ir arba *): VBA IR operatorius naudojamas siekiant užtikrinti, kad kairėje ir dešinėje esančios sąlygos būtų teisingos. Jei kuri nors iš sąlygų yra klaidinga, tada visas teiginys bus klaidingas. AND operacijoms naudojame raktinį žodį And arba ženklą * (žvaigždutę).

Patikrinkite žemiau pateiktą teiginį:

Antrasis testas () a = 10 b = 20 Jei a <15 ir b <15 Tada „MsgBox“ ir a, ir b yra mažesni nei 15. “ 'Tai nevykdoma. Kita „MsgBox“ „A arba b yra didesnis arba lygus 15.“ 'Tai įvykdoma. Pabaiga Jei pabaiga Sub 

Kai vykdome aukščiau pateiktą fragmentą, antrasis, jei teiginys neįvykdomas. Nes pirmasis teiginys kairėje yra teisingas, bet teiginys dešinėje yra klaidingas. Taigi visas teiginys grąžina klaidingą.

Daugelyje kalbų simbolis & yra naudojamas kaip AND operatorius, bet ne VBA. VBA galite naudoti daugybos operatorių * (žvaigždute) kaip AND operatorių, kad įsitikintumėte, jog abi sąlygos yra teisingos.

Pirmiau pateiktame pavyzdyje galite naudoti toliau pateiktą teiginį, kad atliktumėte tą patį.

Jei (a <15) * (b <15) Tada

Norėdami atskirti sąlyginius teiginius, turite naudoti skliaustus. Priešingu atveju teiginiai bus laikomasi BODMAS taisyklės ir rezultatas bus netikslus.

Q1: Koks bus toliau pateikto teiginio rezultatas? Praneškite man toliau pateiktame komentarų skyriuje:

derinimas.spausdinti a10 IR a = (b/2) IR a<>

Kai a vertė yra 15, o b - 30. Užrašykite žemiau esančiame komentarų skyriuje.

VBA ARBA operatorius (arba +): Operatorius ARBA naudojamas, kai norime užtikrinti, kad kairioji sąlyga yra TRUE arba dešinė sąlyga yra TRUE. Jei kuri nors iš dviejų sąlygų yra teisinga, rezultatas bus teisingas. Mes naudojame raktinį žodį OR tarp dviejų loginių teiginių. Taip pat operacijai ARBA galite naudoti + (pliuso) ženklą. Tiesiog įsitikinkite, kad skliaustelius naudojate tinkamai, kad teiginiai būtų aiškūs naudojant + ženklą.

Patikrinkite žemiau esantį kodą:

Antrasis testas () a = 10 b = 20 Jei a <15 arba b <15, tada „MsgBox“ arba a, arba b yra mažesnis nei 15. “ 'Tai įvykdoma. Kita „MsgBox“ „Nei a, nei b nėra mažesnis nei 15.“ 'Tai nevykdoma. Pabaiga Jei pabaiga Sub

Kai vykdome aukščiau nurodytą kodą, rodomas pirmasis pranešimas, o antrasis - praleidžiamas. Nes a yra mažesnis nei 15, o b - ne. Norint gauti išvestį kaip teisingą, reikia tik vienos sąlygos, kad operatorius „OR“ būtų teisingas.

Pareiškimą rašote taip:

Jei (a <15) + (b <15) Tada

2 klausimas: Koks bus toliau pateikto teiginio rezultatas? Praneškite man toliau pateiktame komentarų skyriuje:

derinimas.spausdinti a10 Arba a = (b/2) arba a<>

Kai a reikšmė yra 10, o b yra 5. Užrašykite žemiau esančiame komentarų skyriuje.

VBA NOT operatorius (ne): Operatorius Not naudojamas apverčiant loginę vertę. Kitaip tariant, teiginys su „Not operator“ grąžina „True“ tik tuo atveju, jei prieš jį pateiktas teiginys yra „False“. Pvz., Jei prieš teisingą teiginį naudosite raktinį žodį „Not“, tai sukels klaidingą ir atvirkščiai. VBA mes naudojame Ne raktinį žodį, kad patikrintumėte, ar kažkas yra ne tai, kas tiesa ar melas (?).

Papildomas testas () a = 10 b = 10 Jei ne a = b Tada „MsgBox“ a ir b nėra lygūs. Kitais atvejais „MsgBox“ ir a, ir b yra lygios

Aukščiau pateiktame kode, pareiškimasNe a = bgrąžins klaidingą. Iš pradžių a = b yra tiesa, tačiau, kaip mes naudojome ne anksčiau, rezultatas yra atvirkštinis ir teiginys virsta klaidinga. Anksčiau pateiktame pavyzdyje mes panaudojome vienintelius teiginius. Prieš operatorių „Not“ galite turėti tiek pareiškimų, kiek norite. Tiesiog įtraukite juos į skliaustus.

3 klausimas: Koks bus toliau pateikto teiginio rezultatas? Praneškite man toliau pateiktame komentarų skyriuje:

debug.print a10 Arba ne (a = (b/2) * a<>

Kai a reikšmė yra 10, o b yra 5. Užrašykite žemiau esančiame komentarų skyriuje.

5. Sujungimo operatoriai (& arba +)

Šie operatoriai naudojami eilutėms sujungti. Simbolis & naudojamas tekstams sujungti. Rekomenduojama, kad operatorius sujungtų eilutes. Tačiau taip pat galite naudoti + ženklą, kad sujungtumėte.

Pliuso ženklas tik sujungia du kintamuosius, kai abu yra eilutės. Jei kuri nors eilutė nėra eilutė, + ženklas veiks kaip papildymo operatorius.

Žiūrėkite žemiau esantį kodą:

Antrinis testas () a = "Exceltip" b = "is number" c = 1 d = 2 Debug.print a & b & c 'tai bus atspausdinta "Exceltip yra numeris 1" Debug.print a + b & c & d' tai bus atspausdinta "" Exceltip "yra skaičius 12" Derinti. spausdinti a + b + c "tai bus klaida. Pabaiga

Pirmiau pateiktame kode pirmosios dvi eilutės veiks puikiai. Trečioje eilutėje bus klaida, nes bandome pridėti tekstą su skaičiais. Norėdami sujungti skaičius, visada naudojame & (amp).

Daugiafunkciniai operatoriai VBA

Remdamiesi aukščiau pateiktais pavyzdžiais, jūs turėjote sužinoti, kad yra daug operatorių, kurie skirtingose ​​situacijose dirba skirtingai.

„ +“ Ženklas veikia kaip papildymo operatorius dirbant su skaičiais. Dirbant su loginėmis vertėmis, pliuso ženklas VBA veikia kaip arba operatorius. Kai naudojamas su eilutės reikšmėmis, pliuso operatorius veikia kaip sujungimo operatorius. Toliau pateiktos eilutės galioja:

Derinti. Spausdinti 10 + 20 'spaudinius 30. + veikia kaip papildymo operatorius. „Debug.Print (1020)“ spausdina „Tiesa“. + dirba kaip operatorius. Debug.Print "10" + "20" 'Spausdina 1020. + ženklas veikia kaip sujungimo operatorius. 

Žvaigždutė (*) veikia kaip daugybos operatorius, kai operandai yra skaitiniai. Kai operandai yra loginiai, žvaigždutė veikia kaip ir operatorius.

Žemiau esančios kodo eilutės veikia puikiai.

Derinti. Spausdinti 10 * 20 'spaudinių 200. * veikia kaip daugybos operatorius. „Debug.Print (1020)“ spausdina klaidingai. Ženklas + veikia kaip operatorius. 

Taigi taip, vaikinai, visa tai apie VBA operatorius. Tikiuosi, kad tai buvo naudinga. Jei turite kokių nors abejonių dėl VBA operatorių, paklauskite žemiau esančiame komentarų skyriuje.

„If ElseIf“ teiginys VBA | „If ElseIf“ sakinyje kita sąlyga tikrinama tik nukritus ankstesnei sąlygai. Kai sąlyga sutampa, to bloko kodas vykdomas ir valdiklis išeina iš bloko „If“.

„Excel VBA“ kintamoji apimtis | VBA taip pat turi apimties specifikacijas. Šiuos apimties specifikatorius galima naudoti norint nustatyti kintamojo matomumą/apimtį „Excel VBA“.

VBA pasirinktas atvejo pareiškimas | Pareiškimai „Pasirinkti atvejį“ yra naudingi, kai turite per daug patikrinimo sąlygų. Jie puikiai pakeičia kelis „If ElseIf“ teiginius.

„Loop“ naudojimas VBA programoje „Microsoft Excel“ | VBA kilpos leidžia mums pakartotinai atlikti panašią užduotį nekartojant kodo. „Excel VBA“ yra 3 tipų kilpos.

ByRef ir ByVal argumentai | Kai argumentas perduodamas kaip ByRef argumentas kitam poskyriui ar funkcijai, siunčiama tikrojo kintamojo nuoroda. Bet kokie kintamojo kopijos pakeitimai bus atspindėti pradiniame argumente.

Rodyti pranešimą „Excel“ VBA būsenos juostoje „Excel“ būsenos juosta gali būti naudojama kaip kodo monitorius. Kai jūsų VBA kodas yra ilgas ir atliekate kelias užduotis naudodami VBA, dažnai išjungiate ekrano atnaujinimą, kad nematytumėte to ekrano mirgėjimo

Išjunkite įspėjamuosius pranešimus naudodami VBA programoje „Microsoft Excel 2016“ | Šis kodas ne tik išjungia VBA įspėjimus, bet ir padidina kodo laiko efektyvumą. Pažiūrėkime, kaip.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

Funkcija VLOOKUP „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti SUMIF funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave