Operaatorid Excel VBA -s

Lang L: none (table-of-contents):

Anonim

Märke ja märksõnu, mida kasutame VBA muutujate kasutamiseks, nimetatakse VBA operaatoriteks. Näiteks ridade =, +,>, & all olevatel ridadel on operaatorid.

alamnäide () a = 12 b = 10 c = a+b silumine.print "a ja b summa on" & c end alam 

Mis tahes programmeerimiskeeles on viit tüüpi operaatoreid, seega VBA -s
1. Ülesandeoperaator
2. Aritmeetikaoperaator
3. Võrdlusoperaator
4. Loogiline operaator
5. Liitmise operaator

Vaatame Excel VBA igat tüüpi operaatoreid.

1. Ülesandeoperaator (=)

See on esimene operaator, mida kavatsete kasutada mis tahes programmeerimiskeeles. VBA -s kasutatakse seda muutujatele väärtuste määramiseks. See on "=" (võrdub).

Kasutame seda operaatorit Exceli VBA muutujatele väärtuste määramiseks. Seda kasutatakse ka VBA võrdlusoperaatorina. Me räägime sellest hiljem selles õpetuses.

Üks lihtne näide on

alamkatse () a = 10 vahemik ("A1"). väärtus = lõpp -alam 

Ülaltoodud näites kasutame muutujale "a" väärtuse määramiseks kõigepealt omistamisoperaatorit "=" ja seejärel vahemiku ("A1") väärtuse "a" väärtuse määramiseks operaatorit "=".

2. Aritmeetikaoperaatorid

Aritmeetikaoperaatorid on samad operaatorid, mida kasutame lapsepõlvest lihtsate arvutuste tegemiseks. Excel VBA -s kasutatakse neid operaatoreid muutujate ja numbrite arvutamiseks. Nemad on:

(+) Aritmeetiline lisamine:Seda operaatorit kasutatakse kahe või enama muutuja kahe või enama numbri või väärtuse lisamiseks. Allolevad read võtavad kokku kahe muutuja väärtused ja prindivad selle lahtrisse "A1".

Alamkatse () a = 10 b = 12 vahemik ("A1"). Väärtus =a+b End Sub

A1 -l on 22. See operaator töötab ka liitmise operaatorina. Kui mõlemal, a ja b on stringiväärtused, töötab operaator + liitmise operaatorina. Kuidas seda teha, näeme hiljem artiklis.

(-) Aritmeetiline lahutamine:Seda operaatorit kasutatakse ühe väärtuse lahutamiseks muutujate teisest väärtusest. Allolev rida lahutab a väärtuse b -st ja prindib selle lahtrisse "A1".

Alamkatse () a = 10 b = 12 vahemik ("A1"). Väärtus =b-a End Sub

Lehel A1 on 2.

(*) Aritmeetiline korrutamine:Seda operaatorit kasutatakse kahe või enama arvu või kahe või enama muutuja väärtuse korrutamiseks või korrutamiseks. Allolevad read korrutavad kahe muutuja väärtused ja prindivad selle lahtrisse "A1".

Alamkatse () a = 10 b = 12 vahemik ("A1"). Väärtus =a*b End Sub

Lahtri A1 väärtus on 120.

(/) Aritmeetiline jaotus:Seda operaatorit kasutatakse ühe väärtuse jagamiseks teisest. Allolev rida jagab väärtuse b muutujaga a ja prindib selle lahtrisse "A1".

Alamkatse () a = 10 b = 12 vahemik ("A1"). Väärtus =b/a End Sub

Lahtri A1 väärtus on 1,2.

(Mod) Aritmeetika jääkide operaator VBA -s: Kui enamik PL -sid kasutab ülejäänud saamiseks % (moodulit), siis VBA -s kasutame märksõna Mod. Seda operaatorit kasutatakse meeldetuletuse saamiseks pärast ühe väärtuse jagamist teisest. Allolev rida jagab väärtuse b muutujaga a ja prindib meeldetuletuse väärtuse lahtrisse A1.

Alamkatse () a = 10 b = 4 vahemik ("A1"). Väärtus =a Mod b End Sub 

Lahtri A1 väärtus on 2.

(^) Aritmeetiline eksponentsiaal:Seda operaatorit kasutatakse ühe väärtuse astendaja viimiseks teisele. Allolevad read annavad meile eksponentsiaalse 4 väärtuse 3.

Alamkatse () a = 3 b = 4 Vahemik ("A1"). Väärtus =a^b End Sub

Lahtri A1 väärtus on 81 (3x3x3x3).

Need VBA operaatorid järgivad BODMAS reeglit. VBA -s on ainult 6 aritmeetilist operaatorit. Mõned operaatorid tegutsevad kahte tüüpi operaatoritena, näiteks +. Selle õpetuse kaudu saate teada nende kohta.

3. Võrdlusoperaatorid

Kui tahame VBA -s võrrelda kahte väärtust, kasutame võrdlusoperaatoreid. Võrdlusoperaatori tulemus on alati Boolean. Kui väide on tõene, on tulemus tõene. Kui väide on vale, on väärtus vale. Neid operaatoreid kasutatakse sageli VBA otsuste tegemisel. Vaatame, mis need on:

(=) Võrdne:Jah, märki = (võrdub) kasutatakse ka VBA võrdlusoperaatorina. Kui tahame kontrollida, kas need kaks muutujat on võrdsed või mitte, kasutame seda võrdlusoperaatorit.

Alamkatse () a = 3 b = 4 Kui a = b, siis 'See tagastab vale MsgBox "A ja b on võrdsed." 'seda ei hukata. Muu MsgBox "A ja b ei ole võrdsed" End IF End Sub

Ülaltoodud näites kasutame lauset If ja kontrollime, kas a ja b väärtused on võrdsed. Nad ilmselgelt ei ole. Seetõttu trükitakse muu avaldus.

Saate seda kontrollida lihtsalt avalduse abil.

a = 3 b = 4 silumine. print a = b

See prindib vahetu akna vale.

(<) Vähem kui:Seda kasutatakse kontrollimaks, kas vasakpoolne väärtus on paremast väiksem või mitte.

Alamkatse () a = 3 b = 4 Kui a

Ülaltoodud näites kontrollime, kas a väärtus on väiksem kui b. Kuna see on tõsi, täidetakse if -avaldus ja Else mitte.

Saate seda kontrollida lihtsalt avalduse abil.

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

See prindib kohe aknasse True.

(<=) Vähem või võrdne:Seda kasutatakse kontrollimaks, kas vasakpoolne väärtus on paremast väiksem või sellega võrdne või mitte.

Alamkatse () a = 4 b = 4 Kui a <= b, siis 'See tagastab tõelise MsgBox "A a on väiksem või võrdne b -ga." 'see täidetakse. Muu MsgBox "A ei ole võrdne või väiksem kui b." 'seda ei hukata. End IF End Sub

Ülaltoodud näites kontrollime, kas a väärtus on väiksem kui b. Kuna see on tõsi, käivitatakse If -avaldus ja Else mitte.

Saate seda kontrollida lihtsalt avalduse abil.

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

See prindib kohe aknasse True.

(>) Suurem kui:Seda kasutatakse selleks, et kontrollida, kas vasakpoolne väärtus on paremast parem või mitte.

Alamkatse () a = 3 b = 4 Kui a> b, siis 'See tagastab vale MsgBox "A a on suurem kui b." 'Seda ei hukata. Muu MsgBox "A ei ole suurem kui b." 'See täidetakse. End IF End Sub

Ülaltoodud näites kontrollime, kas a väärtus on suurem kui b. Kuna see on vale, ei käivitata if -avaldust ja Else teeb seda.

Saate seda kontrollida lihtsalt avalduse abil.

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

See prindib vahetu akna vale.

(> =) Suurem kui:Seda kasutatakse kontrollimaks, kas vasakpoolne väärtus on paremast väärtusest suurem või sellega võrdne või mitte.

Alamkatse () a = 3 b = 4 Kui a> = b, siis 'See tagastab vale MsgBox "A on suurem või võrdne b -ga." 'Seda ei hukata. Muu MsgBox "A ei ole suurem ega võrdne b -ga." 'See täidetakse. Lõpeta IF

Ülaltoodud näites kontrollime, kas a väärtus on suurem või võrdne b -ga. Kuna see on vale, ei käivitata if -avaldust ja Else teeb seda.

Saate seda kontrollida lihtsalt avalduse abil.

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

See prindib vahetu akna vale.

() Ei ole võrdne:Seda kasutatakse selleks, et kontrollida, kas vasakpoolne väärtus ei võrdu õige väärtusega.

Alamkatse () a = 3 b = 4 Kui ab siis 'See tagastab tõelise MsgBox "A a ei ole võrdne b",' See täidetakse. Muu MsgBox "A ja b on võrdsed." 'Seda ei hukata. End IF End Sub

Ülaltoodud näites kontrollime, kas a väärtus on pole võrdne b. Kuna see on tõsi, käivitatakse If -avaldus ja muidu mitte.

Saate seda kontrollida lihtsalt avalduse abil.

a = 3 b = 4 silumine. print ab

See prindib kohe aknasse True.

Ülaltoodud kuut operaatorit nimetatakse võrdlusoperaatoriteks, kuna me kasutame neid kahe väärtuse või muutuja võrdlemiseks. Kasutate neid VBA -s palju VBA -s otsuste tegemiseks.

4. Loogilised operaatorid

Loogilisi operaatoreid kasutatakse ühe või mitme muutujaga loogiliste toimingute tegemiseks. Selliste toimingute tulemuseks on alati tõde või vale. Loogilisi operaatoreid kasutatakse sageli (mitte alati) rohkem kui ühe tingimuse kontrollimiseks.

Allpool on loogilised operaatorid, mida VBA -s kasutame:

VBA JA operaator (ja või *): Operaatorit VBA AND kasutatakse selle vasakul ja paremal olevate tingimuste täitmiseks. Kui mõni tingimus on vale, siis annab kogu väide tulemuseks vale. Kasutame JA toimingute jaoks märksõna And või märki * (tärn).

Kontrollige järgmist avaldust:

Alamkatse () a = 10 b = 20 Kui a <15 ja b <15 Siis MsgBox "a ja b on mõlemad alla 15." 'Seda ei hukata. Muu MsgBox "Kas a või b on suurem või võrdne 15." 'See täidetakse. Lõpp Kui Lõpp Alam 

Kui käivitame ülaltoodud katkendi, siis teine, kui avaldust ei täideta. Sest vasakpoolne esimene väide on tõene, kuid paremal olev väide on vale. Seega tagastab kogu väide vale.

Enamikus keeltes kasutatakse sümbolit & operaatorina AND, kuid mitte VBA -s. VBA -s saate kasutada korrutusoperaatorit * (tärn) JA -operaatorina, et tagada mõlema tingimuse täitmine.

Ülaltoodud näites saate sama teha ka alltoodud if -avaldusega.

Kui (a <15) * (b <15) Siis

Tingimuslike lausete eraldamiseks peate kasutama sulgusid. Vastasel juhul järgivad avaldused BODMAS reeglit ja tulemus on ebatäpne.

Q1: Milline on alloleva avalduse väljund? Andke mulle teada allpool olevas kommentaaride jaotises:

silumine.print a10 JA a = (b/2) JA a<>

Kui a väärtus on 15 ja b on 30. Kirjutage alla kommentaaride sektsiooni.

VBA VÕI operaator (või +): Operaatorit VÕI kasutatakse siis, kui tahame tagada, et kas vasakpoolne tingimus on TÕENE või parempoolne tingimus tõene. Kui üks kahest tingimusest on tõene, on tulemus tõene. Kasutame märksõna OR kahe loogilise lause vahel. Võite kasutada ka + (pluss) märki VÕI toiminguks. Lihtsalt veenduge, et kasutate sulgusid õigesti, et + märgi kasutamisel avaldused selgeks teha.

Uurige allolevat koodi:

Alamkatse () a = 10 b = 20 Kui a <15 või b <15 Siis MsgBox "Kas a või b on alla 15." 'See täidetakse. Else MsgBox "Ei a ega b ei ole alla 15." 'Seda ei hukata. Lõpp Kui Lõpp Alam

Kui täidame ülaltoodud koodi, kuvatakse esimene teade ja teine ​​sõnum jäetakse vahele. Sest a on alla 15 ja b ei ole. Väljundi tõeseks saamiseks kulub OR -operaatoriga ainult üks tingimus.

Kirjutate avalduse järgmiselt:

Kui (a <15) + (b <15) Siis

Q2: Milline on alloleva avalduse väljund? Andke mulle teada allpool olevas kommentaaride jaotises:

silumine.print a10 Või a = (b/2) või a<>

Kui a väärtus on 10 ja b on 5. Kirjutage alla kommentaaride sektsiooni.

VBA EI operaator (mitte): Operaatorit Not kasutatakse boolean -väärtuse ümberpööramiseks. Teisisõnu, käsk Not operaatoriga tagastab tõese ainult juhul, kui selle eelnev väide on vale. Näiteks kui kasutate enne tõeseid väiteid märksõna Mitte, on tulemuseks vale ja vastupidi. VBA -s kasutame Mitte märksõna, et kontrollida, kas miski pole õige või vale (?).

Alamkatse () a = 10 b = 10 Kui mitte a = b Siis MsgBox "a ja b ei ole võrdsed." Muidu MsgBox "a ja b on mõlemad võrdsed." 'See täidetakse End If End Sub

Ülaltoodud koodis avaldusMitte a = btagastab vale. Esialgu on a = b tõene, kuid nagu me oleme enne seda kasutanud, on tulemus vastupidine ja avaldus vale. Ülaltoodud näites kasutasime enne seda ainsad väited. Enne operaatorit Not saate esitada nii palju avaldusi kui soovite. Lihtsalt lisage need sulgudesse.

3. küsimus: Milline on alloleva avalduse väljund? Andke mulle teada allpool olevas kommentaaride jaotises:

silumine.print a10 või mitte (a = (b/2) * a<>

Kui a väärtus on 10 ja b on 5. Kirjutage alla kommentaaride sektsiooni.

5. Ühendamise operaatorid (& või +)

Neid operaatoreid kasutatakse stringide ühendamiseks. Sümbolit & kasutatakse tekstide ühendamiseks. Stringide ühendamiseks on soovitatav operaator. Ühendamiseks võite aga kasutada ka + märki.

Plussmärk ühendab ainult kaks muutujat, kui mõlemad on stringid. Kui mõni string on stringivaba, töötab märk + lisamisoperaatorina.

Vaadake allolevat koodi:

Alamkatse () a = "Exceltip" b = "on number" c = 1 d = 2 Debug.print a & b & c 'see prindib "Exceltip on number 1" Silumine.print a + b & c & d' see prindib "Exceltip on number 12 'Silumine. print a + b + c' see on viga. Lõpeta alam

Ülaltoodud koodis töötavad kaks esimest rida täiesti hästi. Kolmandal real ilmneb tõrge, kuna proovime lisada teksti numbritega. Arvude ühendamiseks kasutame alati & (amp).

Multifunktsionaalsed operaatorid VBA -s

Ülaltoodud näidete kaudu olete kindlasti õppinud, et on palju operaatoreid, kes töötavad erinevates olukordades erinevalt.

Märk + töötab numbritega töötamise ajal täiendusoperaatorina. Loogiliste väärtustega töötades töötab plussmärk VBA -s operaatorina. Kui seda kasutatakse stringiväärtustega, töötab plussoperaator liitmise operaatorina. Kehtivad järgmised read:

Silumine. Prindi 10 + 20 'prindib 30. + töötab lisamise operaatorina. Debug.Print (1020) 'prindib True. + töötab operaatorina. Silumine. Prindi "10" + "20" 'Prindib 1020. Märk + töötab liitmise operaatorina. 

Tärn (*) toimib korrutusoperaatorina, kui operandid on numbrilised. Kui operandid on tõeväärtusega, töötab tärn funktsioonina And Operator.

Allpool olevad koodiridad töötavad suurepäraselt.

Silumine. Prindi 10 * 20 'prindib 200. * töötab korrutusoperaatorina. Debug.Print (1020) 'prindib vale. Märk + töötab operaatorina And. 

Nii et jah, poisid, see kõik puudutab VBA operaatoreid. Loodan, et sellest oli abi. Kui teil on VBA operaatorite osas kahtlusi, küsige allpool kommentaaride jaotises.

Lause If ElseIf VBA | Lauses If ElseIf kontrollitakse järgmist tingimust ainult siis, kui eelmine tingimus langeb. Tingimuse sobitamisel täidetakse selle ploki kood ja juhtelement väljub plokist If.

Exceli VBA muutuv ulatus | Ka VBA -l on ulatuse täpsustajad. Neid ulatuse spetsifikatsioone saab kasutada muutuja nähtavuse/ulatuse määramiseks Excel VBA -s.

VBA valitud juhtumi avaldus | Valikjuhtumi avaldused on kasulikud, kui teil on kontrollimiseks liiga palju tingimusi. Need asendavad suurepäraselt mitut If ElseIf avaldust.

Loopi kasutamine VBA -s Microsoft Excelis | VBA silmused võimaldavad meil korduvalt sarnast ülesannet ilma koodi kordamata teha. Excel VBA -s on 3 tüüpi silmuseid.

ByRef ja ByVal argumendid | Kui argument edastatakse ByRef argumendina teisele alam- või funktsioonile, saadetakse tegeliku muutuja viide. Kõik muutuja koopiasse tehtud muudatused kajastuvad algses argumendis.

Sõnumi kuvamine Exceli VBA olekuribal Exceli olekuriba saab kasutada koodimonitorina. Kui teie VBA -kood on pikk ja teete VBA -ga mitut ülesannet, keelate sageli ekraani värskendamise, nii et te ei näe ekraani vilkumist

Hoiatusteadete väljalülitamine Microsoft Excel 2016 VBA abil | See kood mitte ainult ei luba VBA hoiatusi, vaid suurendab ka koodi ajakasutust. Vaatame, kuidas.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.

Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

SUMIF -funktsiooni kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.